- 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]
- 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]
- 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]
- Use hierarchical GamplayTag match when matchin transition event tags
- When returning succeed/failed fomr a subtree, handle it as if the linked state was completed
- Call Stop() before initializing the instance data on Start() to avoid the instance data to be overritten by Stop()
- Early out Stop() if the tree is not running
- Fixed failed transition not setting OutTransition.CurrentActiveStates correctly
#preflight 637e12ee8b12eb83a71bb694
[CL 23248889 by mikko mononen in ue5-main branch]
- record the first completed state on EnterState() and TickTasks()
- returning succeeded on any node in EnterState() now behaves the same as returning succeeded on Tick()
#rb Mieszko.Zielinski
#preflight 637caf2df514e1ded9f280e4
[CL 23233890 by mikko mononen in ue5-main branch]
- Added explicit bShouldCallTick and not make the tick based on of the event is implemented
- This fixes the cases where we are using the BP task class to implement UObject based tasks in C++
#preflight 637c9ea3170bc34a9370bb0b
[CL 23233007 by mikko mononen in ue5-main branch]
- Added a pass during compilation when node and instance data can be checked and adjusted by the node
- Changed blueprint based task to copy flags to the node in Compile()
- Changed relevant gameplay interaction tasks to check tags during Compile()
#rb Mieszko.Zielinski
#preflight 6377724cf514e1ded9a5ff44
[CL 23193668 by mikko mononen in ue5-main branch]
* Adding forward declarations
* Adding "inline" in front of const/constexpr variables in headers
* Adding includes
* A few moves of ctor/dtor to cpp file
#preflight 6372b3ac0c74adb48b49f313
#rb none
[CL 23130896 by henrik karlsson in ue5-main branch]
- restored deprecation (was comments out due to submitting code via multiple CLs)
- cleaned up logging
- skip property binding to not take place when task is not ticked
#rb Mieszko.Zielinski
#preflight 636373961608da6ba1c3a8f2
[CL 22959061 by mikko mononen in ue5-main branch]
- Moved event queue to it's own struct
- Changed the SendEvent() API to accept struct view to prevent instanced struct copy in common cases
- Fixed event handling in case EnterState() fails.
- Added option for Tasks to disavble ticking, or to be ticked only when there are events
- Added option for Tasks handle when properties are copied
- Changed DebugText to use external Actor reference
- Changed DelayTask to use the new GetInstanceData which does not need type
- Added TStateTreeInstanceDataStructRef which can be used to access struct instance data in delegates
#rb Maxime.Mercier Luciano.Ferraro
#preflight 6360dd302b5338aceb2d0343
[CL 22888708 by mikko mononen in ue5-main branch]
- Removed change type from EnterState/ExitState and moved it to transition result
- Added bShouldStateChangeOnReselect which allows to configure a task to behave more like state
- Updated existing tasks
#jira UE-156544
#rb Mieszko.Zielinski
#preflight 6333f6dca907d7192f5f0ccc
[CL 22221382 by mikko mononen in ue5-main branch]
- Cleaned up Blueprint nodes from deprecated functions
- Added call guards for BP implemented events on BP nodes
- Renamed Named External Data to Context (Object/Data)
- Added automatic binding for Context objects
- Added UI visualization for Context properties and cleaned up the Input/Ouput visualization
- Added compiler errors for missing Input and Context properties
#jira UE-156544 UE-147509
#rb Stephen.Holmes
[CL 22084585 by mikko mononen in ue5-main branch]