* First step of procedural prefab styling and read-only registration.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* WIP - Introduce read-only handler for procedural prefabs (not hooked up)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce read-only entity interface, handler and unit tests.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Introduce temp read-only icon, use new icon hierarchy in Outliner.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Switch from a push paradigm to a pull paradigm - handlers get to implement logic to determine if an entity should be read-only. This allows multiple systems to weigh into whether an entity is read-only.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fixed to missing call in test
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Post-rebase fixes to class name changes
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Display a lock icon on top of the entity icon in the Entity Outliner. This icon is added programmatically, which prevents having to alter all Outliner icons and future-proofs this functionality.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor style changes to procedural prefabs in the Outliner (use white icon)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Ensure cache is refreshed when the handler is created, and also whenever the focus changes.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Remove Procedural Prefab setreg that was added in the wrong place
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Remove redundant function
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix spacing issue caused by rebase
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Change tooltip so that it accurately says "inspect" instead of "edit" for procedural prefabs.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Address minor styling issues mentioned in PR.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* IntWidgetHandler::CreateUI now registers and sends editingFinished event
* add tests for int spin control valueChanged and editingFinished signals
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
* Fix several Prefab outliner ordering issues
This change does a few things to address instability in entity order when prefabs are enabled:
- Changes ordering behavior on entity add to always be "insert after the last selected sibling of the new entity, or at the end if there is no selected sibling"
- Adds some logic to ensure selection stays frozen during prefab propagation to allow this behavior to be used
- Alters delta generation in `PrefabPublicHandler::CreateEntity` to use the template instead of reserializing the DOM - this avoids a whole bunch of patching issues caused by EditorEntitySortComponent doing post-hoc order fix-up and should generally be safer/faster as we're producing patches for the actual target for those patches
- Because the duplicate action is DOM-driven, and there's some thorniness around making changes that will affect the template during propagation, this adds `PrefabPublicHandler::AddNewEntityToSortOrder` to directly patch the DOM for the duplicate case
Two bits of this come from patches from the incredibly helpful @AMZN-daimini
- Alters `PrefabPublicHandler::GenerateUndoNodesForEntityChangeAndUpdateCache` behavior for determining what's an override: we now check to see if we're part of the current focused instance but *not* owned by the focus instance directly. This lets entity order for nested prefabs get saved to the owning prefab instead of as an override. I'm putting this up for discussion without a feature flag gating it, but we may wish to make this a toggle or disable it outright for stabilization (in which case entity order won't be saved to the owning prefab)
- Adds a custom serializer for EditorEntitySortComponent. This isn't strictly necessary now, but it was very useful for debugging and ended up receiving much more manual testing its migration path and save/load path more than I've tested without using the serializer.
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Add missing serializers
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Address some review feedback
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Generate patch in `PrefabPublicHandler::CreateEntity` using the instance's fully evaluated template in-memory
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix up comment
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix Linux build
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Try to make test less timing dependent (haven't been able to repro failure locally)
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix another build issue
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix unit test failures
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Fix a duplicate issue with sanitization that was causing sporadic test failure (thanks, test!)
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* One more Linux fix...
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Adds check to make sure that there are not too many samples created.
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes made from PR
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes made from PR 2
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
I actually tried this approach before and it didn't seem to work the way we needed, but I realized that's because PropertyAssetCtrl wasn't handling missing assets properly. I fixed a few issues there including showing the error button when the asset can't be found, and fixing a broken reference to the error icon file.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
Replaced and removed the CryTimer (gEnv->pTimer). The new TimeSystem is a merger of the current time functionality found in the engine.
* Rename TimeSystemComponent.h/.cpp to TimeSystem.h/.cpp
* Adding New TimeSystem
* remove old timer cvars
* small improvements to the time system.
- updated parts to use the time conversion functions.
- in AdvanceTickDeltaTimes applying t_simulationTickScale is now uses doubles instead of floats.
* Replace gEnv->pTimer / ITimer usages with TimeSystem
* Updating usages of AZ::TimeMs{ 0 } and AZ::TimeUs{ 0 } to AZ::Time::ZeroTimeMs and AZ::Time::ZeroTimeUs
* red code the CryTimer
* using TimeUs instead of TimeMs is some cases + updating usages of old cvars to new
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
* Extend the level entity behavior to open prefab containers in focus mode. Disable manipulators for these entities too.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor adjustments
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix enum casing in Entity Inspector.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Split views between for Level and FocusedContainer entities.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Slightly different fix to support components on focused containers.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Minor fixesto RefreshSelectedEntityIds.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>