Commit Graph

248 Commits

Author SHA1 Message Date
grant medine
74338326da [Backout] - CL29805076
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Changed how instance data is accessed
- Remove DataView concept
- Added FStateTreeExecutionFrame, which defines an active branch of a specific state tree that is running
- Added FStateTreeDataHandle, which allows frame relative access of instance data (replaces the DataViews)
- Changed linked states to spawn new frames (will later extend to handle linked trees on other assets)
- Bumped StateTree data version number, requires recomplation of StateTrees

#rb Yoan.StAmant

[CL 29810071 by grant medine in ue5-main branch]
2023-11-17 11:42:17 -05:00
mikko mononen
72c488d0cf StateTree: Changed how instance data is accessed
- Remove DataView concept
- Added FStateTreeExecutionFrame, which defines an active branch of a specific state tree that is running
- Added FStateTreeDataHandle, which allows frame relative access of instance data (replaces the DataViews)
- Changed linked states to spawn new frames (will later extend to handle linked trees on other assets)
- Bumped StateTree data version number, requires recomplation of StateTrees

#rb Yoan.StAmant

[CL 29805087 by mikko mononen in ue5-main branch]
2023-11-17 07:41:08 -05:00
mikko mononen
2372c0c1e7 StateTree: Fixed binding validation and binding display update issues
- Added Modify() for the validation functions so that they behave nice with undo (e.g. a binding may be removed by validation)
- Changed FCachedBindingData::ConditionallyUpdateData() to check if the binding has changed so that the caching reacts to undos and other modifications
- Changed FStateTreePropertyPath::ResolveIndirectionsWithValue() to fall back to the property object type, on null objects (previous logic was preventing some valid cases on empty instances)

#rb Mieszko.Zielinski

[CL 29553170 by mikko mononen in ue5-main branch]
2023-11-08 02:26:27 -05:00
mikko mononen
957a754981 StateTree: Patch transition IDs on older assets deterministically.
#jira UE-196729
#rb Yoan.StAmant

[CL 29356067 by mikko mononen in ue5-main branch]
2023-11-02 02:24:06 -04:00
mikko mononen
f8f4294d8f StateTree: Fixed crash when trying to add binding in a tree with no parameters
- Remove check(SourceStruct) from ArePropertyAndContextStructCompatible, which was triggering when adding a binding for a tree that has no parameters (SourceStruct is nullptr for empty params)

#rb Mieszko.Zielinski

[CL 29267857 by mikko mononen in ue5-main branch]
2023-10-31 03:38:41 -04:00
mikko mononen
bf88a3cfbd StateTree: Fixed binding validation for any enums
- Combined common binding validation methods
- Moved all property binding callbacks to the shared binding data

#jira UE-197482
#rb Yoan.StAmant

[CL 29124924 by mikko mononen in ue5-main branch]
2023-10-26 02:49:53 -04:00
mikko mononen
5260606711 StateTree: Fixed invalidating binding to parameter of Object type.
#jira UE-197989

[CL 29039713 by mikko mononen in ue5-main branch]
2023-10-24 04:44:08 -04:00
juan portillo
09c6561997 [StateTree]
Added "Next Selectable State" transition option which is similar to "Next State" but the difference is that if the next state fails to be selected (i.e. enter condition failed), then instead of going back up the hierarchy, it will try to select the next sibling until it finds one that is selectable or if it reached the end of the sibling list.

#rb Mikko.Mononen
#jira UE-198276

[CL 28852004 by juan portillo in ue5-main branch]
2023-10-17 16:15:53 -04:00
juan portillo
aeeca0af96 State Tree:
- Fix crash when on item selected passes in nullptr

#rb Mikko.Mononen
#rnx

[CL 28320705 by juan portillo in ue5-main branch]
2023-09-28 12:21:10 -04:00
juan portillo
7b64d540dc State Tree:
- Added Themes, which change the coloring of both States and Tasks (tasks showing up a bit darker)

#rb Mikko.Mononen
#jira UE-196534

[CL 28231539 by juan portillo in ue5-main branch]
2023-09-26 11:50:26 -04:00
yoan stamant
a788975f6b Fixed type conversion warnings
#rb mikko.mononen

[CL 27890994 by yoan stamant in ue5-main branch]
2023-09-14 15:23:22 -04:00
mikko mononen
f822bf3027 StateTree: Handle instanced objects when copying State Tree nodes
#jira UE-194520

[CL 27706736 by mikko mononen in ue5-main branch]
2023-09-08 05:51:43 -04:00
mikko mononen
8973ee3788 StateTree: Reset state parameters when state is changed to None
#jira UE-175756

[CL 27627656 by mikko mononen in ue5-main branch]
2023-09-06 03:32:12 -04:00
mikko mononen
db96e947ec StateTree: Fix transition validation on global tasks
[CL 27553237 by mikko mononen in ue5-main branch]
2023-09-01 08:57:41 -04:00
yoan stamant
cd35231af9 Removed reference to private directory for StateTreeEditorModule
#jira UE-194032
#rb none
#rnx

[CL 27446766 by yoan stamant in ue5-main branch]
2023-08-29 10:34:37 -04:00
louisphilippe seguin
5095d0a9d7 Fix ensureMsgf(TEXT(""), ...) and checkf(TEXT(""),...) that should have been ensureMsgf(false, ...) or checkf(false, ...)
#rb [at]mikko.mononen
#rnx

[CL 27423742 by louisphilippe seguin in ue5-main branch]
2023-08-28 16:37:56 -04:00
yoan stamant
b2ca0f5c59 [StateTreeDebugger] allow debugger commands to intercept KeyEvent when debugger tab is the active widget.
Also allow user to use the scrubbing buttons at any time the same way he can manually scrub. It will then disable auto-scrolling.
#rnx
#rb mikko.mononen
#jira UE-192308
#jira UE-192323

[CL 27199010 by yoan stamant in ue5-main branch]
2023-08-18 07:32:06 -04:00
yoan stamant
f027516a12 [StateTreeDebugger] added trace status changed delegate that gets broadcasted by the StateTree module when traces are started or stopped. Debugger view can then keep recording button in sync.
#jira UE-192336
#rnx

[CL 27173965 by yoan stamant in ue5-main branch]
2023-08-17 11:23:30 -04:00
yoan stamant
153c37c593 [StateTree] Update compilation status when adding/removing/moving/disabling states
#jira UE-192309
#lockdown julien.marchand
#rb mikko.mononen

[CL 27150490 by yoan stamant in ue5-main branch]
2023-08-16 15:18:31 -04:00
yoan stamant
5339b57aaa [StateTree]
Updated compiler to ignore disabled states when getting next sibling states.
Fixed transition to enabled states inside a disabled parent state.
#rnx
#rb mikko.mononen

[CL 27112355 by yoan stamant in ue5-main branch]
2023-08-15 14:21:54 -04:00
yoan stamant
6e26cbb348 [StateTreeDebugger] add traces for Evaluators
#rnx
#rb maxime.mercier

[CL 26901368 by yoan stamant in ue5-main branch]
2023-08-07 18:06:40 -04:00
marc audy
284724b39e Remove #pragma once from cpp file
[FYI] yoan.stamant
#rnx
#jira

[CL 26871685 by marc audy in ue5-main branch]
2023-08-05 15:15:12 -04:00
yoan stamant
9f9d95d4b3 Fixed minor formatting issue in StateTreeDebugggerView
#rb trivial

[CL 26858510 by yoan stamant in ue5-main branch]
2023-08-04 15:50:38 -04:00
yoan stamant
8aba578f59 [StateTreeDebuggger] Frame details view update:
- replaced node details view by embedding property values in the tree view
- node exported text (e.g. Task, Conditions, etc) is no longer imported in struct or object to avoid problems with missing types or property types with specific requirements (e.g. Object base property needs to find the specified value). Goal is to always be able to inspect key/value pairs.
- improved hierarchy of event to improve readibility
- started adding some custom row widgets for the different event types
- reworked the toolbar to regroup the different concepts (Simulation controls, Trace recording, Trace analyzing)
#rnx
#rb mikko.mononen

[CL 26855639 by yoan stamant in ue5-main branch]
2023-08-04 14:55:23 -04:00
yoan stamant
17811fc0e8 [StateTreeDebugger]
- Tracks are no longer cleared when running multiple consecutive PIE sessions unless 'bShouldDebuggerResetDataOnNewPIESession' is set to true in the StateTree Editor Settings. Non editor session analysis will always clear tracks.
- Added dedicated button to clear track data.
- Since tracks can be preserved between PIE session clamp range of the timelines is now the longest recording duration instead of the current session duration.
- Allow goto previous active states when scrubbing past the recording duration of the current analysis session
- Scrub buttons can now be used when the session is no longer active, regardless of the autoscroll state
- Manual scrubbing no longer change auto scroll status if session is not active
#rnx
#rb mieszko.zielinski
#jira UE-191087

[CL 26641868 by yoan stamant in ue5-main branch]
2023-07-27 11:27:43 -04:00