Commit Graph

56 Commits

Author SHA1 Message Date
jurre debaare
1454040a2b StateTree editor
- StateTreeEditorMode, which now holds all of the state-tree editing behavior previously part of StateTreeEditor
- StateTreeEditorModeToolkit, responsible for UI/widgets used by StateTreeEditorMode
- StateTreeEditorModeUILayer used to host StateTreeEditorMode inside of the StateTreeEditor
- Exposed StateTreeViewModel
- Introduced IStateTreeEditorHost, interface to-be implemented for supporting StateTreeEditorMode within an Asset editor
- Moved compilation/validation to UStateTreeEditingSubsystem (editor sub system)
- Added layout extensions for StateTreeEditor

#rb Patrick.Boutot

[CL 35491719 by jurre debaare in ue5-main branch]
2024-08-13 09:09:54 -04:00
patrick boutot
98e3452db3 StateTree: Fix LOCTEXT conflict.
#jira UE-221300
#rnx
[FYI] Sigurdur.Gunnarsson

[CL 35420402 by patrick boutot in ue5-main branch]
2024-08-09 09:44:02 -04:00
mikko mononen
441324a228 StateTree: Added State outliner and made the main tree view more detailed
- Simplied the task icon
- Created common treeview for States, used for state selection and outliner view
- Added common functions to describe state links and transitions
- Made custom expander arrow the main tree view
- Move the task lits on separate row on the main tree view
- Added enter condition list for on main tree view
- Clicking on tasks or enter conditions highlight them in the details panel
- Added state outliner which displays the state list compactly
- Added feedback for the drag and drop, and moved the code to separate file

#rb Yoan.StAmant

[CL 35239895 by mikko mononen in ue5-main branch]
2024-08-01 05:38:41 -04:00
jacob wang
0fa5fd8e36 [State Tree] Utility Selector Runtime First Pass
#rb mikko.mononen

[CL 34362979 by jacob wang in ue5-main branch]
2024-06-13 22:57:49 -04:00
yoan stamant
08b5314641 [StateTreeDebugger] replaced WITH_STATETREE_DEBUGGER by WITH_STATETREE_TRACE and WITH_STATETREE_TRACE_DEBUGGER to allow different targets to use only one of the two functionalities. For example consoles can only output traces while Desktop targets can output traces and analyse them.
#rb Mieszko.Zielinski

[CL 33398309 by yoan stamant in ue5-main branch]
2024-05-02 11:47:26 -04:00
mikko mononen
ef148ecd80 StateTree: StateTree UI spring clean.
- Added icons and icon colors for ST nodes
- Implemented icons for some common ST nodes
- Small update to ST logic icons
- Added icons to the task list in State treeview row, adjusted task list BG color to make icons visible
- Fixed ST editor tabs icons and names (e.g. there were two tabs that had the same label)
- Moved ST node picker to separate class
- Moved category array customization to common helper function
- Added node icons to the ST node picker
- Add node button is not node selector too (simila to Niagara)
- Consolidated the add button style across all lists
- Cleaned up the node customization
  - Moved type selector, debug, and property controls into one menu at right
  - The combined menu can be also summoned using right click
  - Renaming now has to be triggered via the menu
  - Replacing node happens via menu
  - Most of the row was left "clickable" to later use it for selection
  - Improved the visualization and controls for the expression indentation
- Cleaned up state customization
  - Moved parameters to own category (similar to the tree params)
  - Moved event to the enter conditions category
- Cleaned up transition customization
  - Improved the transition display
  - Consolidated add button styles

#jira UE-180608
#rb Juan.Portillo, Mieszko.Zielinski

[CL 33030431 by mikko mononen in ue5-main branch]
2024-04-17 03:01:36 -04:00
jacob wang
ab360118e2 [State Tree] Added icon for random selection
#jira UE-212343
#rb mikko.mononen

[CL 33006569 by jacob wang in ue5-main branch]
2024-04-16 13:32:28 -04:00
mikko mononen
da69f444d5 StateTree: Added warning about linked state's child states (which cannot be selected)
#jira UE-208928
#rb Mieszko.Zielinski

[CL 32925706 by mikko mononen in ue5-main branch]
2024-04-12 07:21:04 -04:00
mikko mononen
25d1ba6c73 StateTree: Improved transition visualization and fixed some logic to better match the execution.
#jira UE-210496
#rb Yoan.StAmant

[CL 32875559 by mikko mononen in ue5-main branch]
2024-04-11 04:14:59 -04:00
mikko mononen
b888b0f394 StateTree: Added automatic description to tasks and conditions.
#rb Mieszko.Zielinski

[CL 32754463 by mikko mononen in ue5-main branch]
2024-04-05 03:37:02 -04:00
maxime mercier
b121e30c79 CIS fix in 29.40 rollback original fix as the one I have made earlier today is conflicting with this one but it was in 29.20 branches which was for 5.4 release.
[CL 32653750 by maxime mercier in ue5-main branch]
2024-04-01 18:02:13 -04:00
maxime mercier
c10a982b7d #jira UE-211098
[REVIEW]
#rb aurel.cordonnier

[CL 32652720 by maxime mercier in ue5-main branch]
2024-04-01 17:23:03 -04:00
mikko mononen
83d4312a2c StateTree: Improve state picker.
- imropoved the state picker to display the states in hieracrchy

#rb Mieszko.Zielinski

[CL 32576972 by mikko mononen in ue5-main branch]
2024-03-28 10:25:37 -04:00
yoan stamant
460926373f [SStateTreeViewRow] removed unreachable code
#jira UE-210111
#rb mikko.mononen

[CL 32471660 by yoan stamant in ue5-main branch]
2024-03-25 11:46:14 -04:00
grant medine
1361c96bd5 [Backout] - CL32448872
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
[SStateTreeViewRow] removed unreachable code
#jira UE-210111
#rb yoan.stamant

[CL 32451272 by grant medine in ue5-main branch]
2024-03-22 17:18:42 -04:00
yoan stamant
892cbfffb5 [SStateTreeViewRow] removed unreachable code
#jira UE-210111
#rb yoan.stamant

[CL 32449922 by yoan stamant in ue5-main branch]
2024-03-22 16:53:45 -04:00
ryan hummer
e5e9ec6d88 Fixing unreachable code shipping compile error
#rnx
#rb trivial

[CL 32313757 by ryan hummer in ue5-main branch]
2024-03-18 17:54:31 -04:00
mikko mononen
00ae9d4fac StateTree: Change StateTree editor transition display to reflect the execution logic
- The execution logic will transition to Root if no state is found, change editor to reflet that
- Change viewmodel from ref to ptr to make it optional (allows to reuse the row for non-editing purposes)

[CL 30315165 by mikko mononen in ue5-main branch]
2023-12-14 02:55:56 -05:00
christopher waters
86af3ce99d Fixing various header only compile errors.
[CL 30138626 by christopher waters in ue5-main branch]
2023-12-05 17:55:30 -05:00
mikko mononen
965459a538 StateTree: Fix Mac compiler not being able to figure out implicit cast from TObjectPtr<> to UObject
[CL 30073495 by mikko mononen in ue5-main branch]
2023-12-04 03:46:59 -05:00
mikko mononen
16962d6a2f StateTree: Added Linked Asset state type, which allows to link another asset as subtree.
- Added LinkedAsset State Tree State Type
- Allow to pick nested tree asset on LinkedAsset states
- Changed how linked state params are accessed using ParentFrame
- Added temporary instance data
- Temporaries are kept around until state selection
- Create temp instance data during state selection for state parameters (allows to create enter conditions based on subtree state params)
- Instantiate and Start linked State Trees global tasks and evaluators during state selection
- Matching temporary instances created during state selection are moved to instance data on state change (rest are discarded)
- Per node instance data is looked up just once, and FStateTreeExecutionContext::GetInstanceData() only serves the specific instance data.

#rb Mieszko.Zielinski, Yoan.StAmant

[CL 30012308 by mikko mononen in ue5-main branch]
2023-11-30 07:03:20 -05:00
juan portillo
09c6561997 [StateTree]
Added "Next Selectable State" transition option which is similar to "Next State" but the difference is that if the next state fails to be selected (i.e. enter condition failed), then instead of going back up the hierarchy, it will try to select the next sibling until it finds one that is selectable or if it reached the end of the sibling list.

#rb Mikko.Mononen
#jira UE-198276

[CL 28852004 by juan portillo in ue5-main branch]
2023-10-17 16:15:53 -04:00
juan portillo
7b64d540dc State Tree:
- Added Themes, which change the coloring of both States and Tasks (tasks showing up a bit darker)

#rb Mikko.Mononen
#jira UE-196534

[CL 28231539 by juan portillo in ue5-main branch]
2023-09-26 11:50:26 -04:00
yoan stamant
fb4de53169 On behalf of mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Fixed ID clash when duplicating transitions, plus misc editor fixes
- Fix duplicate state
- Fix creating new node IDs when a whole transitions is duplicated
- Fixed state ID leaking into state names, when ID debug display is on
- Fixed updating the state tree view when task type is changed

[FYI] yoan.stamant

[CL 26149038 by yoan stamant in ue5-main branch]
2023-06-21 10:32:41 -04:00
mikko mononen
37b01a1b20 [Backout] - CL26145152
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Fixed ID clash when duplicating transitions, plus misc editor fixes
- Fix duplicate state
- Fix creating new node IDs when a whole transitions is duplicated
- Fixed state ID leaking into state names, when ID debug display is on
- Fixed updating the state tree view when task type is changed

[FYI] yoan.stamant

[CL 26145795 by mikko mononen in ue5-main branch]
2023-06-21 08:45:02 -04:00