* fix outliner sorting using incorrect types for comparisons, fixes for [LY-122258] and [LYN-3666]
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* fix annoying but necessary Qt type cast
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* Update PrefabLoader to sanitize ingested prefabs and have core systems operate with default values
Signed-off-by: sconel <sconel@amazon.com>
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Remove IsExplicitDefault implementation to avoid confusion (since the function isn't virtual).
Avoid copying PrefabDoms over in SanitizeLoadTemplate.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Address naming and commenting concerns from PR reviews.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix to error detection code
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add support for all uuid formats for zero check.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
Co-authored-by: sconel <sconel@amazon.com>
* Clarify ImGui activation in Editor viewport
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* All working following changes from comments in PR
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* One more change
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* fixes from comments in PR.
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fixed git merge error
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Added header to ImGuiBus.h
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Fix for Jenkins error
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Minor typo fix
Signed-off-by: John Jones-Steele <jjjoness@amazon.com>
* Cherry Picking (lyn1751)
Problem with DCO so we need to cherry pick this branch.
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Cherry picking #2
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Cherry picking 3
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Changed variables reverseurls
This was just changing some name variables.
Signed-off-by: aaguilea <aaguilea@amazon.com>
* Changes from past PR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* changes from past PR and fixed small bug:
Also removed some legacy code from Resources.h
Signed-off-by: aaguilea <aaguilea@amazon.com>
* couple of changes from actual PR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* fixed copyright issues for AR
Signed-off-by: aaguilea <aaguilea@amazon.com>
* rewrite of the filter code to fix [LYN-4156][LYN-4545]
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* improved onRowCountChanged() per comments
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
This has a small bundle of bugfixes and improvements all based around improving prefab TrackView support:
* JsonMerger - improved the error message when patch remove operations fail to make the specific failure more obvious
Instance - swapped the order of destroying entities vs clearing the lookup tables so that lookups still produce valid results during destruction. (This could happen while creating undo caches)
* InstanceEntityIdMapper - in the case where an id isn't found, it now returns an invalid id instead of an "attempted-valid" one that still generally turned out to be not-valid
* PrefabUndo - downgraded a potential crash to an error message if for some reason the patch contains changes to an entity that doesn't currently have an alias. (This case can be caused occasionally by other bugs and error conditions)
* EditorSequenceComponent - downgraded a potential crash to an assert for the times when it tries to remove components, fails, but thinks it succeeded. (This case can currently be caused by using Maestro with Prefabs enabled)
* EditorSequenceAgentComponent - added an undo cache refresh whenever the component deletes itself, so that deleting itself during an EditorSequenceComponent destruction chain of events leaves the undo cache in the correct state.
* SliceConverter - fixed the conversion of entity references in top-level slice instance entities that refer down to nested slice entities. There was a chicken-and-egg problem in terms of which entities need to be created first to make the references and the prefab patching & serialization happy. This was worked around by creating placeholder top-level entities, then the nested slice entities, then replacing the top-level entities with the fully-realized ones.
Specific changes:
* Added more informative error message.
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 672608a6c833c07295996cd9b3449825222b74d0)
* Changed the error condition to produce a "valid" invalid id instead of a deterministic but not-valid id
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 3673950c949de8e067b32ddafaffd07e648a13d8)
* Guard against invalid reference assert/crash
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 268d4ef3447f268a1372d07e028b9e67bac5c64e)
* Downgrade an invalid reference crash to an assert
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 38c9303770845f4e863273dd6fb8fc7e83380425)
* Improved logic for handling entity references across nested slices.
Signed-off-by: mbalfour <mbalfour@amazon.com>
(cherry picked from commit 7e89a016d95fb72cb5f119e1e3768daa60e6bfb4)
* Changed order of entities.clear() call so that instance lookups are still valid during entity destruction.
Signed-off-by: mbalfour <mbalfour@amazon.com>
* Add undo cache notification when removing Maestro components.
Signed-off-by: mbalfour <mbalfour@amazon.com>
* Final update copyright headers to reference license files at the repo root
Signed-off-by: spham <spham@amazon.com>
* Fix copyright validator unit tests to support the stale O3DE header scenario
Signed-off-by: spham <spham@amazon.com>
* rewrite of the filter code to fix [LYN-4156][LYN-4545]
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* improved onRowCountChanged() per comments
Signed-off-by: Alex Montgomery <alexmont@amazon.com>
* Fixed: Item returning null in drag and drop when column is hidden
* Added explanation about why this approach is needed
Signed-off-by: John <jonawals@amazon.com>
Remove warning when entities that aren't registered to instances get passed to the Prefab Undo Cache (just ignore them to avoid noise in the console).
Also avoid marking templates dirty when they are added.
* When loading a template to memory, store the current Source (potentially overriding what was stored to disk)
* Before storing the prefab disk, remove the Source parameter from the Dom (as it's no longer necessary to save it).
* updates to better support showing/hiding viewport ui when grid snapping is enabled/disabled
* connect up editor settings callbacks
* minor polish changes
* api rename
* updates following review feedback
* first pass of adding grid snapping button
* update to request current grid size
* show/hide snapping option based on selection
* small tidy-up changes
* small updates following review feedback
* added some unit tests for snapping functionality and some small tidy-up/refactoring
* small refactor to ensure snap to grid ui only appears with snapping enabled
* add missing include to resolve build error
* fixes for build
* add & to make compiler happy
* Restore the code that display the dirty marker on the Level container. Ensure the dirty marker is cleared on level save.
* Moving call one level up to allow usage of the SaveTemplateToString function without clearing the dirty flag.
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.
(cherry picked from commit 86136ddfa6)
* Addressed feedback from previous PR
* Change missing entity aliases to be deterministic.
When converting slices, this helps produce the same results on multiple reconversions of the same data.
* Exposed the asset filter callback.
This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets.
* Added support for multiply-nested slice instance conversion.
- Added button to PhysX Collider Component in PhysX Mesh's field to open FBX Settings.
- Added button Material Selection to open the physics material library in Asset Editor.
- Default Material in PhysX configuration is read only and consistent with the text in combo boxes.
- Material configuration field "Surface Type" renamed to "Name"
- Fixed bug in EditorColliderComponent where the material selection was not updated when changing the library.
- Fixed bug where the materials selection was not set to default when a physics material from the asset was not found in the library.
- Added attributes 'BrowseButtonEnabled' and 'BrowseButtonVisible' to PropertyAssetCtrl.
- Updated physx configuration setreg files of AutomatedTesting project.
* Add instanceToIgnore to calls leading to instances being added to the queue for propagation.
* Change PrefabUndoEntityUpdate to make it so that the instance triggering the prefab template change is not reloaded on propagation, since it will already be up to date due to the way we generated the patch to begin with.
* Add FindPrefabDomValue utility function for paths
* Expose the level root prefab template id in the Prefab EOS Interface
* Fix Instance Alias Path generation to work with the new FindValueInPrefabDom function
* Stop reloading ancestors on propagation, and fix instance reloading so that the level dom is used (and overrides are preserved)
* Remove commented out code, refactor FindPrefabDomValue for paths (was handling an edge case incorrectly, and it's not even triggered)
* Fix issue with PathView reference - with PathView already being a reference, this resulted in a copy and triggered a warning during automated review builds.
* Additional fix to the build warning, remove redundant error message
* Revert changes to Instance::GetAbsoluteInstanceAliasPath(), as they were impacting serialization.
* Remove the dependency to the level root prefab template in the propagation code, climb up the hierarchy instead. This allows tests to work despite not using the EOS properly.
Also use PrefabDomPaths to retrieve the instance dom from the root dom instead of iterating.
* Remove now unused PrefabDomUtils function, extend optimization to link updates.
* Trigger a full instance propagation to correctly refresh alias references.
This is an issue in the test because some operations are called from the backend API and will not trigger propagation properly. Tests will soon be rewritten to more properly represent frontend workflows.
* Fixes lingering issues with propagation:
- Restores code that fixes the selection if entityIds have changed;
- Fixes Do() function on link update. Prefab containers will propagate correctly while still being stable during editing.
* Remove GetRootPrefabInstanceTemplateId (no longer necessary after the code has been rewritten)
* Fix optimization code to account for instances being removed and propagation being run out of order in Create Prefab undo.
* Renamed variable, added comments for clarity.
* Restore asserts on instance not being found; Rename Do to Redo for clarity; Add comments.
* Fixed incomplete comment.
Switch EditorContextMenu back to using popup instead of exec
The switch to exec was a deliberate change, but upon further testing with the latest version of our camera input controllers (both the Legacy and Modern variants) it is no longer necessary to call exec, and doing so can cause a bug in which the cursor is still hidden when the context menu appears.
* formatting changes to AzToolsFramework viewport related types + API comment style updates
* minor format change - include ordering
* improve formatting by moving comment
* fix compile error and switch to use AZ_Printf
* small polish changes after review feedback