Commit Graph

107 Commits

Author SHA1 Message Date
mikko mononen
546d4df750 StateTree: Link state tree when a BP recompiled
- Fixes a crash in property bindings which tried to access data based on the old BP class layout

#preflight 64394feb9566b61450e4c856

[CL 25049335 by mikko mononen in ue5-main branch]
2023-04-14 16:36:43 -04:00
mikko mononen
06f8e1baec StateTree: Fix default value of selection behavior to keep old assets working.
#preflight 6437f2050c4277fc0b16d7fb

[CL 25025476 by mikko mononen in ue5-main branch]
2023-04-13 10:52:23 -04:00
mikko mononen
51aa286c45 State Tree: Added new selection behaviors for states
- Added selection behavior None (not selectable)
- Added selection behavior TryEnterState (enters the specific state, does not consider child states)
- Added selection behavior TryFollowTransitions (follows transitions when state is tried to be selected)
- Brushed up a bit the state representation in editor (added icons, cleaned up layout)

#preflight 6436843df12d5de705595942

[CL 25005118 by mikko mononen in ue5-main branch]
2023-04-12 07:59:16 -04:00
mikko mononen
71fb1a0a07 StateTree: Moving OnBindingChanged methods from FStateTreeConditionBase to FStateTreeNodeBase
#preflight 642c164bd6069e71b1f24927

[CL 24909812 by mikko mononen in ue5-main branch]
2023-04-04 09:45:41 -04:00
yoan stamant
b4c666585e [StateTreeDebugger]
- process breakpoints only for instances matching the debugged asset
#rnx
#rb mieszko.zielinksi
#preflight 641455a05d3e25354f16708f

[CL 24687988 by yoan stamant in ue5-main branch]
2023-03-17 09:41:13 -04:00
yoan stamant
8c35447677 [StateTree] trivial changes from review
#rnx
#rb trivial
#preflight skip

[CL 24655890 by yoan stamant in ue5-main branch]
2023-03-15 11:59:44 -04:00
yoan stamant
4c372a0e40 Fix CIS Issue 275930
#rnx
#rb trivial
#preflight skip

[CL 24655550 by yoan stamant in ue5-main branch]
2023-03-15 11:39:22 -04:00
yoan stamant
64c8dca7cb [StateTreeDebugger]
Initial version of the debugger
- currently compiled by StateTreeModule and StateTreeEditorModule using WITH_STATETREE_DEBUGGER
- currently not exposed to UI by StateTree settings 'bUseDebugger'
- in this version only one instance per asset can be debugged
- using Trace services to read events generated by statetree instances.
- can connect to any traces (Editor, Client, Server) as long as the compiled statetree matches
#rb mieszko.zielinski
#preflight 641088a30e1f02786b509663

[CL 24639409 by yoan stamant in ue5-main branch]
2023-03-14 13:35:46 -04:00
mikko mononen
764e166e5b StateTree: Fixed crashes when compiled data is not loaded properly (e.g. some structs not loaded)
#rb Yoan.StAmant
#preflight 6409ade0a450329d6c1750b0

[CL 24573646 by mikko mononen in ue5-main branch]
2023-03-09 06:35:16 -05:00
stephen holmes
97766341ea Refactored FSructView and FConstStructView as per recent meetings. Both are now const correct in the same way TArrayView and TArrayConstView are (ie const FStructView and const FConstStructView) the view can not point at another view.
Also removed the Mutable named functions and replaced with the constness being part of the template.

#preflight 63ea4fbaec50523134d85665

[CL 24197313 by stephen holmes in ue5-main branch]
2023-02-13 20:06:02 -05:00
mikko mononen
34a1e22051 StateTree: Allow to bind to deep property paths (including arrays and instanced struct/object)
- refactored the property binding representation, editor binding shave now more structure, and removed intermediate representation
- added functionality to resolve property paths agains a known value
- added instanced struct and object indirection types
- added editor functionality to allow to bind to further than first level of properties
- refactored editor tree traversal, allow to access values too
- simplified statetree node ui
- requires to recompile trees, bumped version

#rb Mieszko.Zielinski
#preflight 63e6204ff15c83b79312aca5

[CL 24117094 by mikko mononen in ue5-main branch]
2023-02-10 07:22:48 -05:00
henrik karlsson
9a1d5b1ad4 [Engine/Plugins]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63d09351574ab9cae4670216
#rb none

[CL 23844750 by henrik karlsson in ue5-main branch]
2023-01-25 02:42:36 -05:00
christopher waters
2285d21e63 Removing TaskGraphInterfaces.h include from CoreDelegates.h
[CL 23836502 by christopher waters in ue5-main branch]
2023-01-24 15:07:59 -05:00
mikko mononen
e2fd3455a9 StateTree: Allow tasks to request transitions
- Added ability for tasks to request transitions
- Added buffered transition requests
- Added callback method to FStateTreeTaskBase which is called during transition triggering
- Allow FStateTreeStateLink to be added to tasks and conditions (resolved automatically during compile)

#jira UE-174250
#preflight 63ca7ee8977c62635603afcb

[CL 23815873 by mikko mononen in ue5-main branch]
2023-01-23 12:48:04 -05:00
mikko mononen
fb1a0fad3d StateTree: Fix mutable uses of instanced structs and struct views.
#jira UE-172049
#rb Mieszko.Zielinski
#preflight 63c002ab577437afe6358e84

[CL 23662521 by mikko mononen in ue5-main branch]
2023-01-12 09:45:58 -05:00
mikko mononen
57a0d8a492 StateTree: More graceful handling of GetStateTreeRunStatus()
- Calling GetStateTreeRunStatus() on unintialized instance is not error anymore, returns failed
- Made UStateTreeComponent::GetStateTreeRunStatus() to return failed instead of unset to be consistent with FStateTreeExecutionContext
- Allow to access execution state directly from instance data without exec context
- Do no crete exec context in UStateTreeComponent when sending events

#jira UE-173207
#preflight 63bfec4af02e72c08cab1811

[CL 23661828 by mikko mononen in ue5-main branch]
2023-01-12 09:00:45 -05:00
mikko mononen
29f4ff63e1 StateTree: bump external data handly type to 16bits to not limit max nodes to 254.
#rb Mieszko.Zielinski
#preflight 63be8591d862fdd347408bef

[CL 23648546 by mikko mononen in ue5-main branch]
2023-01-11 12:44:01 -05:00
mikko mononen
d30ad5127b State Tree: new node picker
- added class picker style new node picker with search box and categories

#rb Mieszko.Zielinski
#preflight 63be76206e6e8d4662c637fb

[CL 23643504 by mikko mononen in ue5-main branch]
2023-01-11 05:08:00 -05:00
mikko mononen
ab3816dd30 StateTree: Added global tasks
- Added global tasks which are run at tree level similar to evals (will replace evals)
	- allows initial state selection to rely in calculated data (e.g. world conditions)
	- allows better reuse of existing logic
- Call evaluator stop in reverse order
- Use some uses of mutable instanced structs
- Copy bindings along with ST nodes
- Remove bindings when removing a ST node, so that undo can restore them

#rb Yoan.StAmant
#preflight 63bd2c7968068a8bd6395d2c

[CL 23632408 by mikko mononen in ue5-main branch]
2023-01-10 15:44:28 -05:00
foobit
7c8f7ac6fe PR #9830: [StateTree] StateTreeComponent.GetStateTreeRunStatus method and status delegate (Contributed by foobit)
#rb Mikko.Mononen
#preflight 639c374143330e63e5bb8fd0

[CL 23536754 by foobit in ue5-main branch]
2022-12-16 05:45:13 -05:00
mikko mononen
a41a8c85f8 StateTree: extend when BP nodes can send events
- cache event queue for the whole active duration of the nodes
- this allows events to be sent outside tick (e.g. from delegate callbacks)

#preflight 638deb98c0652bbec2df9368

[CL 23389834 by mikko mononen in ue5-main branch]
2022-12-05 09:16:37 -05:00
mikko mononen
fe252a1f95 StructUtils: Renamed FInstancedStructArray to FInstancedStructContainer
#jira UE-170863
#rb Mieszko.Zielinski
#preflight 638debbb7e0feab0b7da3359

[CL 23389832 by mikko mononen in ue5-main branch]
2022-12-05 09:16:27 -05:00
Stephen Holmes
2f18773caa Addressing the remaining AI numeric conversion issues.
#jira UE-166285
#review
#preflight 638a031b35192facc1c0fd77

[CL 23372606 by Stephen Holmes in ue5-main branch]
2022-12-02 10:07:29 -05:00
mikko mononen
df359ce99e StateTree: Transition improvements
- Removed gated delay (transition will be delayed until it has been "pressed" for N seconds)
- Delay now triggers after the delay duration has passed (single trigger, not "pressed", works with events too)
- Added random variation for the delay
- Tick/Event transitions has precedence over completion transitions (that is, they are handled before completion transitions)
- Removed delay and blocking from completion transitions
- Small improvements for transitions UI

#rb Mieszko.Zielinski
#preflight 6389e0b435192facc1b95cdb

[CL 23371519 by mikko mononen in ue5-main branch]
2022-12-02 07:57:31 -05:00
mikko mononen
1cc286a596 StateTree: Add indirection to FStateTreeInstanceData so that it can be bitwise relocated.
#rb Mieszko.Zielinski
#preflight 63872b0d3377450900b579a6

[CL 23325782 by mikko mononen in ue5-main branch]
2022-11-30 07:17:26 -05:00