60 Commits

Author SHA1 Message Date
patrick boutot
77ad77e4e5 StateTree: Revert part of CL36113278 name check for State and Node. The FName test is obsolete.
#jira UE-222501
#rb patrick.boutot
#p4v-cherrypick 36207897

[CL 36331250 by patrick boutot in 5.5 branch]
2024-09-17 07:45:20 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
jacob wang
784b99f413 [State Tree] Simplified Namings
#rb Patrick.Boutot

[CL 35975294 by jacob wang in ue5-main branch]
2024-09-03 14:56:39 -04:00
patrick boutot
8febf7d1b2 StateTree: Prevents incorrect character or too long state name.
#jira UE-222498
#rb Yoan.StAmant

[CL 35824960 by patrick boutot in ue5-main branch]
2024-08-27 10:33:49 -04:00
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