This introduces an EditorViewportIconDisplayInterface that will eventually be used to outright remove CIconManager, it provides a simple interface for loading 2D image assets and rendering them on-screen. It also introduces AtomBridge::PerViewportDynamicDraw for getting a dynamic draw instance on a per-viewport basis
There are already APIs for getting a relative product path from an absolute source path, or getting a relative source path for an *existing* source file, but there were no APIs for getting a relative source path for a *new* source file. Prefabs will need this ability to be able to correctly generate a relative source path inside the prefab file before the file has been saved.
The logic for relative source paths is a little bit tricky because the paths are relative to the watch folders, and the watch folders can be nested, with different priorities to explain which should take precedence. The input paths can also include specifiers like "." and "..", which need to be reconciled before creating the final correct relative path. The included unit tests test all of the tricky edge cases that I was able to identify.
* {LYN-2185} Helios - Added GraphObjectProxy::GetMethodList() function
* Updated the EditorPythonConsoleInterface to get Python type name info
* Added PythonBehaviorInfo to the GraphObjectProxy object to reflect abstract calls that can be invoked
* removed SCENE_DATA_API from Reflect() function
Jira: https://jira.agscollab.com/browse/LYN-2185
Tests: Added tests GraphObjectProxy_GetClassInfo_Loads & GraphObjectProxy_GetClassInfo_CorrectFormats to regress test
* fix compile error
* etchPythonTypeName() returns AZStd::string
* put None into a const char
the project root and engine root to fix issues with running the Editor
or AssetProcessor from within the project folder overriding the
project_path with the engine root bootstrap.cfg project_path entry
The order in which the project path is overridden as follows
1. The <engine-root>/bootstrap.cfg is first merged into the Settings
Registry. Any '/Amazon/AzCore/Bootstrap/project_path' would be used
if the following steps don't override that key.
2. Followed by general *.setreg/*.setregpatch files being merged into
the Settings Registry which can override the
'/Amazon/AzCore/Bootstrap/project_path' key
3. Next a project.json file searched upwards from the current executable
directory to determine the project path
4. Finally if a command line parameter that overrides the project path
is supplied it is used instead