Commit Graph

35 Commits

Author SHA1 Message Date
marc audy
2ce43c7aff Fix invalid operands to binary expression ('const FStateTreeViewModelInsert' and 'int')
[CODEREVIEW] mikko.mononen
#rnx

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19851557 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19853475 by marc audy in ue5-main branch]
2022-04-21 14:49:31 -04:00
mikko mononen
0a37a4d3a9 StateTree: Fix for crash when moving states
#jira UE-149306
#preflight 62615ac9080c66006375519e
#rb julien.marchand

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 19848705 in //UE5/Release-5.0/... via CL 19849612
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19853233 by mikko mononen in ue5-main branch]
2022-04-21 14:39:34 -04:00
mikko mononen
e38a996c3d StateTree: Fix crash in undo
- Fix crash when undoing a move or delete
- Cleaned up the logic for move and delete

#jira UE-149306
#review
#preflight 62614403360b45c32a8b2494

[CL 19847123 by mikko mononen in ue5-main branch]
2022-04-21 08:02:21 -04:00
mikko mononen
6ed68b3b02 StateTree: Allow to bind StateTree source structs directly.
#jira UE-147507
#review
#preflight 6257f5e9d606fd159eb7f743

[CL 19753012 by mikko mononen in ue5-main branch]
2022-04-14 06:28:13 -04:00
Yoan StAmant
c135ebcd95 [StateTree]
+ Added StateTree parameters usable for data bindings and that could be overriden on context initialization by a StateTreeReference
+ Added StateTreeReference struct to hold a reference to a StateTree asset along with a list of values to parameterized the tree.
+ Added named external data items that are defined bt the Schema and for which values must be provided at runtime through the execution context.
+ Added delegate OnPostCompile after successful compilation. The StateTreeReference listens to it to validate its parameters
+ EditorData now contains its own version of the schema and parameters. On successful compilation they are copied over the StateTree own properties.
#rnx
#rb mikko.mononen
#preflight 6255d281647ad886b3593cb0

[CL 19727363 by Yoan StAmant in ue5-main branch]
2022-04-12 15:55:39 -04:00
Yoan StAmant
8c9e8dfd54 [StateTree] allow transition to "Tree Succeeded" or "Tree Failed" from StateLink combo box
#rnx
#rb mikko.mononen
#preflight 6255648b3b3936170e3e0795

[CL 19718909 by Yoan StAmant in ue5-main branch]
2022-04-12 07:54:29 -04:00
Yoan StAmant
7512cab31d [StateTree] updated GetPropertyCompatibility for property to ObjectPtr to restrict to the class hierarchy
#rb mikko.mononen
#rnx
#preflight 625428a2955c31948d1d0f56

[CL 19705380 by Yoan StAmant in ue5-main branch]
2022-04-11 09:13:30 -04:00
Yoan StAmant
b4f64a59e0 [StateTree] external data validation from schema supported types
- fixed external requirements set by StateTreeBrainComponent to find more specific actor classes first before defaulting on AActor
- added missing supported type FMassSharedFragment for MassStateTreeSchema
- moved StateTreeLinker to it own file and handle its potential failures
#rb mikko.mononen
#rnx
#preflight 624d98fd8e5ae00f0aca3123

[CL 19646871 by Yoan StAmant in ue5-main branch]
2022-04-06 10:04:05 -04:00
mikko mononen
b156e83342 StateTree: Renamed baker to compiler
#jira none
#rb Yoan.StAmant
#preflight 624c465da64871f1a10a2ee6

[CL 19624175 by mikko mononen in ue5-main branch]
2022-04-05 09:44:28 -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
f820c24012 StateTree: fix for nonunity build
#jira UE-147399
#rb trivial
#preflight 6243ff06e434babd8ae00d3b

[CL 19554341 by mikko mononen in ue5-main branch]
2022-03-30 03:15:13 -04:00
mikko mononen
1e28b99891 StateTree: Condition expressions
#jira UE-146925
#review-19478890
- Added ability to combine conditions into expressions
- Added editor UI for the expressions
- Replaced condition description with a name (makes the expressions faster to skim)
#preflight 62417309361866e20ffa6320

[CL 19524558 by mikko mononen in ue5-main branch]
2022-03-28 04:48:50 -04:00
mikko mononen
49de6cb549 StateTree: Fix for instance data when compiling BP classes
- Moved instance object directly on FStateTreeInstanceData to make easier to access
- Internal instance data on FStateTreeExecutionContext is not property to simplify handling
- Link & resolve properties on UStateTree when objects are replaced (to refresh cached property pointers)
- Moved instance data initialization out from FStateTreeExecutionContext
#preflight 623b0bff10251d53d5823f3e

[CL 19477789 by mikko mononen in ue5-main branch]
2022-03-23 08:06:00 -04:00
mikko mononen
95cec28098 StateTree: Moved instance data out from framents
- Added new struct to hold instance data
- Removed on the fly created customs struct for storing the instance data
- The Mass StateTree instance data is not a fragment anymore
- Fixes crash when using StateTreeBrainComponent directly on actor
- Moved StateTree activation processor settings to Mass Behavior settings

#jira UE-133870
#rb Yoan.StAmant
#preflight 62178318db60b6b592190db8

[CL 19112506 by mikko mononen in ue5-main branch]
2022-02-24 08:19:23 -05:00
yoan stamant
2941cd8742 Fix LOCTEXT conflicts
#rnx
#jira UE-141418
#rb mieszko.zielinski
#preflight 6202675074604bc6b17aa819
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18902462 in //UE5/Release-5.0/... via CL 18902516 via CL 18902599
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v912-18901109)

[CL 18902602 by yoan stamant in ue5-main branch]
2022-02-08 10:48:31 -05:00
mikko mononen
92f5bd6882 Fix non-unity build and static analysis errors in StateTree object hash
#jira UE-141143
[REVIEW]
#rb mieszko.zielinski
#preflight 6200fe3d6f05911039b3542b
#lockdown julien.marchand

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

[CL 18884927 by mikko mononen in ue5-main branch]
2022-02-07 09:16:09 -05: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
4c4df21caf StateTree Editor compile improvements
- Added Compile button and compilation state indication
- Removed compile-on-save
- Prevent compiling during PIE

#jira UE-140363
[REVIEW]
#preflight 61f91266c54b18c42dcefc21

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18806713 in //UE5/Release-5.0/... via CL 18808593 via CL 18822193
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18822498 by mikko mononen in ue5-main branch]
2022-02-02 02:46:49 -05:00
mikko mononen
371377a22c StateTree: small editor improvements
- Removed State Succeeded/Failed from transitions as it currently does not make sense
- Change "Add Routine" button to "Add State"
-Rrenamed routines to SubTrees, generally support just one
- Add a root node by default

#jira UE-140363
#rb Yoan.StAmant
#preflight 61f3a6bf801201ab387c9b99

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18769095 in //UE5/Release-5.0/... via CL 18769102 via CL 18769116
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18769117 by mikko mononen in ue5-main branch]
2022-01-28 03:38:15 -05:00
mikko mononen
d38354a7ea StateTree: allow schema to configure editor
- allow to disable enter conditions and evaluators
- allow to configure state to have just one task

#jira UE-135723
#review-18394822
#robomerge 5.0
#preflight 61b067d35c61dba07bef0718

[CL 18403954 by mikko mononen in ue5-main branch]
2021-12-08 03:29:30 -05:00
mikko mononen
6a8caf79a7 StateTree UI improvements
- fixed description display on BP conditions
- added class cache that contains also BP classes and is kept up to date as the assets and BPs change
- the condition/evaluator/task selector now shows struct and class based items in same menu
- added meta = (Hidden) support for structs to prevent them displaying in the item selector

#jira UE-135723
#review-18322707
#robomerge 5.0
#preflight 61a7302e9c77d6100788c8ad

[CL 18336889 by mikko mononen in ue5-main branch]
2021-12-01 03:41:24 -05:00
mikko mononen
93d4ab8543 StateTree: fixed class filter in StateTree bindable item bindings
#jira none
#rb @yoan.stamant
#robomerge 5.0
#preflight 61a47f72361aa0b85b17f52b

[CL 18306756 by mikko mononen in ue5-main branch]
2021-11-29 02:41:15 -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
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
yoan stamant
b57d577409 [StateTree] fixed clang compiler CIS issues caused by exported templates
#rb maxime.mercier
[FYI] mikko.mononen
#jira UE-134926

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18190932 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18191021 by yoan stamant in ue5-release-engine-test branch]
2021-11-15 10:58:48 -05:00