Also fixes various property metadata helpers when dealing with enums held in containers
#jira UE-151969
#rb jaime.cifuentes
[CL 30775416 by thomas sarkanen in ue5-main branch]
- enabled code in details single item row to show the overrides widget
- added code to the overrides style keys to provide the visibility based on overrides state of the edit property chain (for properties) and object inputs
- Updates to the details display managers to get the property update widgets by providing the edit property chain, needed for override state for properties
- updated the overrides combo button code to iterate through the style keys and show any the have been initialized to show for the current override state
- currently conntains API changes to provide the override state for properties
#jira UE-192054
#rb aditya.ravichandran
[CL 30678106 by karen jirak in ue5-main branch]
* Adding some first pass UI for editing the Universal Object Locators that are used to bind objects to tracks in Sequencer. This is currently in the form of:
* An 'Add Empty Binding' item in the + Actor to Sequencer menu
* A 'Binding Properties' sub-menu in the object binding track properties that allows you to modify the array of UOL's that bind objects to the track. This allows you to specifically select certain UOL types and then fill in the data that makes up that UOL. This is necessary for example for the FortAIPlayerPawn binding we plan on adding for UEFN.
* Major refactor of MovieScene binding code to more seamlessly allow for the use of the Locator resolution, especially in the case of supporting locators that spawn actors, either in the case of editor preview actors or future runtime 'spawnables'. This was necessary to consolidate the cases where locator resolve params were being created to as few places as possible for simplicity.
* Add the concept of 'default' editor and runtime flags to locators to make it easier for Sequencer to know how to interact with bindings of different types. These flags are then stored with the binding in Sequencer and editable by users as necessary. Sequencer treats 'load'/'unload' in this case similar to 'spawn'/'despawn' and generally speaking resolving a locator with editor flags of 'load' will expect the locator to spawn an actor for preview, while resolving a locator with runtime flags of 'load' will expect the locator to create a 'spawnable' character.
* To manage lifetime of these preview/spawnable characters, created an interface for a 'LocatorSpawnedCache' which the locators interact with when creating or destroying an actor. This allows the resolver of locators to differentiate between cases where they expect multiple resolves of the same locator to create duplicate actors vs. resolve to the same actor and track the lifetimes of these spawned actors.
* Sequencer implements the above cache within its own object cache in evaluation state.
* Expand the role of the previously created Binding Lifetime track to trigger loading/unloading via locators in the cache. The Binding Lifetime track will now automatically be added to a binding if its locator type contains 'Load' as a default editor or runtime flag.
* Some other editor updates to support the above.
Future issues to be resolved:
* We want to more easily expose the editing of binding properties when necessary rather than having it buried in a sub-menu. Ideas for this include some kind of UI on the track itself, for example a combo box with binding types on it, as well as potentially the properties menu appearing on hovering over the possessable icon on the object binding track. We also want to expose properties based on selection, for example object binding properties, track properties, and section properties, in another external window.
* We want to eventually replace the 'Actor to Sequencer' and 'Assign Actor' menu with this once the UX is better.
The above was all tested with a Fortnite NPC Locator type which will be added in a separate changelist.
[REVIEW] [at]ue-sequencer
#jira UE-199299
[CL 30596833 by david bromberg in ue5-main branch]
[BugFix] Inlined Subobjects not displaying correctly in left panel of archetype fixup tool
#rb Francis.Hurteau, karen.jirak
#jira UE-197746
[CL 30573552 by jordan hoffmann in ue5-main branch]
1. Updated the Category menu to include the override component menu item
2. Updated the Overrides combobutton to take in the component and show the proper widget whether overridden fully or inside. For now it will have no associated menu items
3. Updated DetailsDisplayManager and EntityDetailsDisplayManager to have the property update widgets take in the name of the object (component in this case) that will be watched for override changes to show the status
4. Updated the calls to those in the Detail Category Table Rows to pass in the category object name
#jira UE-192054
#rb aditya.ravichandran
[CL 30342099 by karen jirak in ue5-main branch]
- if we encounter a set option in `FDetailPropertyRow` we use its value instead. This allows for cusomizations to just 'work' without any special handling for options.
- Note: There is some case-handling to ensure the display name is still the options rather than the values.
[CL 30214987 by jared cotton in ue5-main branch]