Commit Graph

388 Commits

Author SHA1 Message Date
patrick boutot
bb77d7100c StateTree: Prevent crash when an evaluator class doesn't exist.
#jira UE-222491
#rb patrick.boutot
#rnx

[CL 35877536 by patrick boutot in ue5-main branch]
2024-08-28 15:26:33 -04:00
patrick boutot
bcf921a0c6 StateTree: Add new basic color.
#jira UE-221074
#rnx
#rb patrick.boutot

[CL 35866270 by patrick boutot in ue5-main branch]
2024-08-28 10:21:35 -04:00
patrick boutot
7bb2cb9480 StateTree: Fixed updating InstanceData for overriden LinkedAsset
#rb jakub.kuznik

[CL 35742662 by patrick boutot in ue5-main branch]
2024-08-22 11:41:23 -04:00
patrick boutot
b29fa29a65 StateTree: Add accessor to get the list of active states.
#jira UE-166098
#rb Mieszko.Zielinski, Yoan.StAmant

[CL 35742179 by patrick boutot in ue5-main branch]
2024-08-22 11:29:18 -04:00
patrick boutot
4b35156bb1 StateTree: Fixed ExitState calls in parent frames.
#rb jakub.kuznik

[CL 35695368 by patrick boutot in ue5-main branch]
2024-08-21 07:54:18 -04:00
patrick boutot
7cf86db302 StateTree: Remove all objects that a StateTree compilation creates when recompiling. That helps to keep the object name consistent between recompilation and help reduce the diff cook package size.
#rb Yoan.StAmant
#jira UE-189890

[CL 35692664 by patrick boutot in ue5-main branch]
2024-08-21 05:52:51 -04:00
jacob wang
d403fdf2ca [State Tree] Added state weight to scale final utility score
#rb sigurdur.gunnarsson

[CL 35635292 by jacob wang in ue5-main branch]
2024-08-19 15:41:09 -04:00
patrick boutot
09f37e31fa StateTree: Rework the FStateTreePropertyBindings::DebugInternalLayoutAsString format.
#rb Yoan.StAmant

[CL 35635251 by patrick boutot in ue5-main branch]
2024-08-19 15:40:44 -04:00
patrick boutot
b5959b59f4 StateTree: Add option to print the result of a StateTree compilation. Moved FStateTreeExecutionContext::GetDebugPrintString to UStateTree. Added transitions, global tasks and conditions. Update other FStateTreeExecutionContext functions to use StringBuilder.
#rb Yoan.StAmant

[CL 35592149 by patrick boutot in ue5-main branch]
2024-08-16 09:07:06 -04:00
patrick boutot
22175c9fdc StateTree: Update comments for docgen.
#rb Yoan.StAmant
#rnx

[CL 35564665 by patrick boutot in ue5-main branch]
2024-08-15 11:29:44 -04:00
patrick boutot
d3d4bad348 StateTree: Deprecate FStateTreeTaskBase::ExitState and EnterState with the ChangeType arguments. It was already deprecated by comments but didn't had the deprecate attribute.
#rb Yoan.StAmant
#rnx

[CL 35560372 by patrick boutot in ue5-main branch]
2024-08-15 08:19:58 -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
jacob wang
6558f860f1 [State Tree] Changed weighted random utility selection behavior to not select states with zero score
#rb Aris.Theophanidis

[CL 35463121 by jacob wang in ue5-main branch]
2024-08-12 15:21:12 -04:00
jodon karlik
d1725a9234 Deprecating FProperty::ElementSize for public access and introducing accessors. Instead of accessing the variable directly, use GetElementSize and SetElementSize in order to facilitate a future change of underlying storage type (to pack FProperty tighter and save some memory).
#rb Steve.Robb
#jira UE-221511
[RN] UStructs above 16.7mb will trip an ensure in the Editor so that they remain compatible with upcoming changes to Max ElementSize. You can disable the ensure with CVar CoreUObject.EnsureAgainstLargeProperties.

[CL 35434186 by jodon karlik in ue5-main branch]
2024-08-09 16:04:11 -04:00
patrick boutot
08c08f062d StateTree: Prevent access to invalid StateTree in FStateTreeExecutionContext.
#jira UE-220062
#rb Yoan.StAmant

[CL 35420514 by patrick boutot in ue5-main branch]
2024-08-09 09:48:26 -04:00
patrick boutot
ff595e18ef StateTree: Move the module callback to static variables to prevent issues with the initialization. For commandlet, they can load objects before the module has a chance to load. This is temporary, we should create a subsystem that handles link and compilation.
#jira UE-221399

[CL 35397334 by patrick boutot in ue5-main branch]
2024-08-08 11:29:24 -04:00
patrick boutot
9af223defa StateTree: Use a thread safe delegate for internal bind to delegates that are out of StateTree controls. This is a quick fix to unblock internal projects from building. A better solution is a link/compile manager that knows the current instances or use the TObjectIterator to find the instances.
#jira UE-218319
#rb mikko.mononen

[CL 35366072 by patrick boutot in ue5-main branch]
2024-08-07 08:47:03 -04:00
guillaume arruda
30d8d033c8 Create basic state tree property function for int, bool, float, vector, actors
Create helper function to help create state tree property function
#rnx
#rb mikko.mononen

[CL 35337440 by guillaume arruda in ue5-main branch]
2024-08-06 07:42:19 -04:00
sigurdur gunnarsson
0fddecac20 StateTree: Fixing crash in StateTree utility selector when score is manually set to -1, resulting in no selected state.
#jira UE-220290
#rb mikko.mononen

[CL 35336163 by sigurdur gunnarsson in ue5-main branch]
2024-08-06 05:21:13 -04:00
mikko mononen
d4ea50b0fc StateTree: Fix random determinism on transition random delay.
#rb Mieszko.Zielinski

[CL 35302506 by mikko mononen in ue5-main branch]
2024-08-05 03:21:02 -04:00
patrick boutot
bd1d8d9be3 StateTree: Fix deprecated NotSet link type for old assets. The original fix should have change the value of saved data but now we have 3 cases: correctly fixed data, fixed data with wrong type, and unfixed data.
#rb Yoan.StAmant

[CL 35271637 by patrick boutot in ue5-main branch]
2024-08-02 09:39:01 -04:00
mikko mononen
35c86ac7f0 StateTree: Allow conditions to receive state completion callbacks.
#rb Yoan.StAmant

[CL 35267259 by mikko mononen in ue5-main branch]
2024-08-02 06:57:58 -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
mikko mononen
fed14b44b8 StateTree: Fixed reentering states in parent frames of the performed transition. (contributed)
[CL 35209580 by mikko mononen in ue5-main branch]
2024-07-31 06:55:37 -04:00
mikko mononen
8578289d69 StateTree: Added StateScope when checking state's enter conditions (contributed)
[CL 35208982 by mikko mononen in ue5-main branch]
2024-07-31 06:05:07 -04:00