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.
* Fixed generation of Monolithic builds StaticModules.inl
A project's gem module RUNTIME_DEPENDENCIES were not visited to
determine any dependent gem modules that needed to load.
Therefore the CreateStaticModules function were missing
CreateModuleClass_* function calls required initialize the gem's AZ::Module
derived class in monolithic builds
* Removed the logic to strip the Gem:: and Project:: prefix from the Server Launcher gem dependencies
When associating gem dependencies with the server target there was CMake logic left over in it to strip the beginning of the target name if it began with "Gem::" or "Project::"
The serialize context allows users to reflect fields that are enums to
a class without reflecting the enum type itself with the EnumBuilder. In
this case, the serialize context stores the mapping of the enum's typeid
to the underlying type's typeid. When asking for the class data for the
enum typeid, the underlying type's class data is returned. This was
throwing off the json serializer, which would then see that the type was
"unsigned int" instead of an enum, and attempt to load the unsigned int
value. The unsigned int deserializer would then complain, because the
incoming typeid was the typeid of the enum, and not equal to the typeid
of unsigned int.
This change adds support for detecting the non-reflected enum, and
loading it properly.
Updated the comment for ListEntities to be more descriptive. This hopefully clears up the confusion about what the index in a spawnable ticket exactly refers to.
Removed unnecessary "is not a function" warnings from ScriptContext.
All these warnings are followed by returning false, which call sites can use to report warnings where appropriate. In the case of material lua functors, it is not appropriate to report a warning which is why I'm removing these. The material system uses the "Call" API to potentially call a function that may or may not exist, and it is acceptable for that function to be absent.
* Started update for prefab based initial asset inclusion
* Newly Created levels now use a template prefab
* Review feedback changes
* Moved to better asset-based queries to generate the full path.
* Removed pesky pragma
* Replaced with const name instead of literal string
- Remove '--repeat until-pass' from profile test ctest argument
- Moved flaky TCP tests from main googletest suite to sandbox
- Added 'TARGET' to 'ly_add_googletest' to support adding the same module to multiple tests or adding a test that is not named the same as the module
- Fix minor bug in ly_add_googletest
Nested slices are now detected, converted into prefabs, and the top-level prefab will get linked to the nested prefabs with the proper number of instances. However, the nested prefabs won't retain any of the slice override values or parent entity hierarchy. That will (hopefully) be added in a separate PR.
This also adds support for better relative source paths for nested prefabs. To support this, the tool now needs to connect/disconnect with the AssetProcessor to be able to turn a slice asset ID into a relative source path, so that nested templates can be looked up and converted correctly.
* Projects Home Screen Dynamically displays Projects from O3DE and can open Project settings editor
* Seperated out CreateProjectCtrl and UpdateProjectCtrl
* Moved source level statics back into class headers
* Updated background image location
* Framework for setting default directory in asset picker
* Asset Picker will default to a passed in default directory in the selection model
* Added comment to the property to help define what is expected.
* Fixed string assignment
* Removed commented out #pragma
* Addressed review feedback
* Addressed review feedback