Commit Graph

96 Commits

Author SHA1 Message Date
patrick boutot
e3a7a4b04f StateTree: Fix compilation crash when the task fails and the state should not continue compiling. Regression introduced with CL 35821616.
#jira UE-226820
#rb Yoan.StAmant

[CL 36930819 by patrick boutot in 5.5 branch]
2024-10-08 09:44:09 -04:00
patrick boutot
589df80fad [Backout] - 35717852
Binding are already sorted somewhere else and the jira is fixed by something else. This break instanced object binding.

[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
StateTree: Remove binding that can overrides the target of another binding. Prevents binding that target a struct field to overrides the result of another binding that target the struct itself.
#jira UE-220080
#rb Yoan.StAmant
#rnx

[CL 36858737 by patrick boutot in 5.5 branch]
2024-10-04 09:41:09 -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
44c6353e67 StateTree: Review feedback for CL 35592141
#rb yoan.stamant
#rnx

[CL 35822203 by patrick boutot in ue5-main branch]
2024-08-27 07:51:18 -04:00
patrick boutot
0d3956484c StateTree: Modified the compiler to continue on non fatal error. It will still stop at the end of a step if that step fails. That is because some steps require other steps to complete properly. This helps provide a list of errors instead of one error at the time. In the future we can divide the compilation into 2 steps. "Analyze" to check for errors and "compile". We can then break the steps dependency and provide a full list of errors before doing the actual compile work.
#jira UE-187153
#rb Yoan.StAmant

[CL 35821621 by patrick boutot in ue5-main branch]
2024-08-27 06:55:07 -04:00
patrick boutot
752d11a867 StateTree: Remove binding that can overrides the target of another binding. Prevents binding that target a struct field to overrides the result of another binding that target the struct itself.
#jira UE-220080
#rb Yoan.StAmant
#rnx

[CL 35715184 by patrick boutot in ue5-main branch]
2024-08-21 15:15:49 -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
d23bb5c2fe StateTree: Add developper menu in StateTree editor. Add the option to display the compilation result.#rb Yoan.StAmant
#rnx

[CL 35634779 by patrick boutot in ue5-main branch]
2024-08-19 15:23:03 -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
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
abb4bccc2e StateTree: Fixed providing incorrect instance data during bindings compilation. (contributed)
[CL 35208559 by mikko mononen in ue5-main branch]
2024-07-31 05:21:07 -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
mikko mononen
54eb8e271f StateTree: Introduced PropertyFunctions (contributed) (take2)
- Added property functions which can be executed and chained during property binding to set values of properties

[CL 34087989 by mikko mononen in ue5-main branch]
2024-06-04 03:56:38 -04:00
justin peterson
4b5e90f42a [Backout] - CL33856504 - CIS Cook Warning
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Introduced PropertyFunctions (contributed)
- Added property functions which can be executed and chained during property binding to set values of properties

[CL 33868630 by justin peterson in ue5-main branch]
2024-05-23 14:06:53 -04:00
mikko mononen
8fb0559486 StateTree: Introduced PropertyFunctions (contributed)
- Added property functions which can be executed and chained during property binding to set values of properties

[CL 33856515 by mikko mononen in ue5-main branch]
2024-05-23 04:48:59 -04:00
mikko mononen
ef8f978f83 StateTree: Various fixes how the binding sources are displayed.
- Added editor only StatePath to FStateTreeBindableStructDesc to help error reporting
- Friendlify user defined struct property names in FStateTreePropertyPath::ToString()
- Fixed FStateTreeEditorNode::GetName() to return the BP node name instead of the wrapper name
- Categorize binding sources based on state (including one section for global) in the binding popup

#jira UE-212418, UE-209016
#rb Yoan.StAmant

[CL 33623462 by mikko mononen in ue5-main branch]
2024-05-14 02:41:50 -04:00
jacob wang
c7a6fe6ffa [State Tree] Renaming common elements between Condition and the upcoming Utility Consideration
- Renamed EStateTreeConditionOperand and properties of that type.
- Renamed FStateTreeEditorNode::Indent Property.
- Corrected a few tooltips
#rb mikko.mononen, Yoan.StAmant

[CL 33614033 by jacob wang in ue5-main branch]
2024-05-13 20:48:39 -04:00
mikko mononen
d73032aca4 StateTree: Add missing check when emitting a warning in ST compiler.
#rb Yoan.StAmant

[CL 33599067 by mikko mononen in ue5-main branch]
2024-05-13 05:06:04 -04:00
mikko mononen
533e9f7eb7 StateTrees: Made empty linked asset a valid setup.
[CL 33135868 by mikko mononen in ue5-main branch]
2024-04-22 07:44:19 -04:00
mikko mononen
9bcda384a4 StateTree: Fix parameter handling entering to a subtree directly.
- When transitioning to a subtree directly, self host the parameters
- Made transitioning to a subtree directly a warning, may make it an error in future versions

#jira UE-211189
#rb Yoan.StAmant

[CL 32969399 by mikko mononen in ue5-main branch]
2024-04-15 08:23:17 -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
2b93815d0a StateTree: Improved event handling
- Added support for shared event buffer, so that multiple instance data can use the same
- Added API to consume events
- Removed double buffering from events
- Treat TriggerTransitions() as event handler (events flushed after each call to the method)
- Event handlers (including tasks) are executed in priority order
- Transitions and event capturing states can consume events on successful selection
- Added API to tick a StateTree in two passes (update tasks and trigger transitions)
- Change parallel tree tasks to do the task update in Tick(), and event handling in TriggerTransitions()
- Small improvements to the ST debugger to display events
- NOTE: this is breaking change for implementations that has relied events emitted during tick to be available on next EnterState()

#okfirgithub public
#rb Yoan.StAmant

[CL 32924765 by mikko mononen in ue5-main branch]
2024-04-12 06:04:01 -04:00
mikko mononen
879e31f4c0 StateTree: Make an error to fail ST compilation.
#jira UE-207493

[CL 32883341 by mikko mononen in ue5-main branch]
2024-04-11 07:09:40 -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