Commit Graph

12 Commits

Author SHA1 Message Date
mikko mononen
344561a7f0 StateTree: Fix for abstract classes showing up in class selector
- added condition to prevent abstract classes being selected
- made some base node types hidden

#jira UE-149895
#rb Mieszko.Zielinski
#preflight 62849197614041edb75978ea

[CL 20258008 by mikko mononen in ue5-main branch]
2022-05-18 02:35:34 -04:00
mikko mononen
a841531c2b StateTree: moved evaluators global to tree
- Deprecated per state evaluators and moved them to global to the tree
- Tick evals once per Tick()
- Updated editor node customizations to work on UStateTreeEditorData
- Added separate detail customization for UStateTreeEditorData

#jira UE-147508
#rb Yoan.StAmant
#preflight 62820e55046b81bf93911605

[CL 20221385 by mikko mononen in ue5-main branch]
2022-05-16 05:13:27 -04:00
mikko mononen
ef8889a1c4 StateTree: Added functionality to call and reuse a subtree
- Removed unnecessary checks for specific transition (handled in enter state logic)
- Added state type to StateTreeState, State, Group, or Linked
- StateTreeState property customization hides properties based on type
- Allow a state to link to another state
- Changed baker binding validation to handle linked states
- Added linked state handling in execution context
- Updated UI deal with linked states
- Updated gameplay debugger to deal with linked states
- Moved automatic Root state adding from Editor data to editor open (tests were broken due to extra root state)
- Fixed tests and added simple test for linked state
- Added meta to tag to state link to allow to select only direct states (no next, etc)
- Added counter to track state changes (mainly for debugging)

#jira UE-147509
#review
#preflight 624beb69637925b5d306d8e7

[CL 19621621 by mikko mononen in ue5-main branch]
2022-04-05 03:20:57 -04:00
mikko mononen
841dd874f1 StateTree: Renamed item to node
- Renamed uses of item to node
- Added base class for Conditions, Evals & Tasks

#jira UE-140363
#rb mieszko.zielinski
#preflight 61fa4083db42673a6020f1fb
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18841581 in //UE5/Release-5.0/... via CL 18841871 via CL 18842048
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18842354 by mikko mononen in ue5-main branch]
2022-02-03 09:13:49 -05:00
mikko mononen
6f10809ef6 StateTree: control flow evaluators
- added base class for common evaluators
- added cooldown guard
- added selection guard

#jira none
#review-18405877
#robomerge 5.0
#preflight 61b1d4b6764790bee6ade85a

[CL 18417343 by mikko mononen in ue5-main branch]
2021-12-09 05:38:26 -05:00
mikko mononen
0e7aa10d82 StateTree tweaks
- removed pure virtuals from StateTree nodes
- cosmetic change when StateTree current state is set

#jira none
#review-18322438
#robomerge 5.0
#preflight 61a5e27e801b36197842b262

[CL 18322563 by mikko mononen in ue5-main branch]
2021-11-30 03:53:20 -05:00
mikko mononen
3f4f44a364 StateTree: UObject and BP support
- connect GetWorld() of FStateTreeExecutionContext explicitly to the owner
- take MassSignalSubsystem as parameter to FMassStateTreeExecutionContext directly
- separated DataViewIndex (what others see) and InstanceIndex/bInstanceIsObject (where the pointert comes from) on StateTree items
- allow item instance to be a struct or object
- added editor support for both struct or object based instance
- added Blueprint base classes for Eval, Task and Condition
- Update UStateTreeBrainComponent

#jira UE-135723
#review-18267822
#robomerge 5.0

[CL 18280804 by mikko mononen in ue5-main branch]
2021-11-24 04:26:12 -05:00
mikko mononen
9cb403b9ab StateTree: allow task/evaluator/condition to have separate data for isntance and item in the tree.
- Changed conditions to use the same code structure as tasks and evals
- Tasks, Evaluators, and Conditions can have separate struct for instance and tree item
- Converted existing tasks/evals/conds to use the new setup
- Updated the UI to use the new setup
- Limited the property binding to only first level properties in the instance struct
- Removed StateTreeConditionItemDetails (uses the same details customization as tasks/evals)
- Removed bunch of old test tasks and evals

#jira UE-133870
#rb Yoan.StAmant
#robomerge 5.0

[CL 18165353 by mikko mononen in ue5-main branch]
2021-11-12 05:48:11 -05:00
mikko mononen
a434bdedfb StateTree: Resolve external dependecies at load time instead of bake time
- added StateTree linker
- added Link() method to tasks and evaluators
- added templated item reference which makes getter code less error prone

#jira none
#review-17921724
#robomerge 5.0

[CL 17941680 by mikko mononen in ue5-main branch]
2021-10-27 06:10:12 -04:00
mikko mononen
09243f59e4 StateTree: renamed task2 and evaluator2
#jira none
#review-17882783
#robomerge 5.0

[CL 17882855 by mikko mononen in ue5-main branch]
2021-10-21 04:51:39 -04:00
mikko mononen
667a0bf417 StateTree: Remove V1
#jira none
#review-17748193
#robomerge 5.0

[CL 17882720 by mikko mononen in ue5-main branch]
2021-10-21 04:08:20 -04:00
mieszko zielinski
c019c2635f Moved GameplayBehaviors out of restricted folder over to Experimental
Moved SmartObjects out of restricted folder
Moved StateTree out of restricted folder
Moved ZoneGraph out of restricted folder
Moved ZoneGraphAnnotations out of restricted folder

#jira UE-115297

#ROBOMERGE-OWNER: mieszko.zielinski
#ROBOMERGE-AUTHOR: mieszko.zielinski
#ROBOMERGE-SOURCE: CL 17648223 via CL 17648246 via CL 17648261 via CL 17648385 via CL 17648390 via CL 17648742
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v875-17642767)

[CL 17648750 by mieszko zielinski in ue5-main branch]
2021-09-28 13:33:17 -04:00