FStateTreeExecutionContext

Runs StateTrees defined in [UStateTree](API\Plugins\StateTreeModule\UStateTree) asset.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

FStateTreeExecutionContext

FMassStateTreeExecutionContext

References

Module

StateTreeModule

Header

/Engine/Plugins/Runtime/StateTree/Source/StateTreeModule/Public/StateTreeExecutionContext.h

Include

#include "StateTreeExecutionContext.h"

Syntax

USTRUCT()
struct FStateTreeExecutionContext

Remarks

Runs StateTrees defined in UStateTree asset. Uses constant data from StateTree, keeps local storage of variables, and creates instanced Evaluators and Tasks.

Variables

Name Description

Protected variable

TArray< FStateT...

 

DataViews

Array of data pointers (external data, tasks, evaluators, conditions), used during evaluation.

Protected variable UProperty

UObject *

 

Owner

Protected variable UProperty

const UStateTre...

 

StateTree

The StateTree asset the context is initialized for

Protected variable

FInstancedStruc...

 

StorageInstance

Optional Instance of the storage

Protected variable

EStateTreeStora...

 

StorageType

Storage type of the context

Protected variable

TArray< bool >

 

VisitedStates

States visited during a tick while updating evaluators.

Constructors

Name Description

Public function

FStateTreeExecutionContext()

Destructors

Functions

Name Description

Public function

void

 

AddStructReferencedObjects

(
    FReferenceCollector& Collector
)

Public function

void

 

AddStructReferencedObjects

(
    const FStateTreeDataView ExternalSt...,
    FReferenceCollector& Collector
)

Public function Const

bool

 

AreExternalDataViewsValid()

Protected function Virtual

void

 

BeginGatedTransition

(
    const FStateTreeExecutionState& Ex...
)

Callback when gated transition is triggered.

Protected function Const

FString

 

DebugGetStatePath

(
    TArrayView< FStateTreeHandle > Acti...,
    int32 ActiveStateIndex
)

Public function

void

 

DebugPrintInternalLayout

(
    FStateTreeDataView ExternalStorage
)

Protected function

EStateTreeRu...

 

EnterState

(
    FStateTreeDataView Storage,
    const FStateTreeTransitionResult& ...
)

Handles logic for entering State.

Protected function

void

 

ExitState

(
    FStateTreeDataView Storage,
    const FStateTreeTransitionResult& ...
)

Handles logic for exiting State.

Public function Const

FString

 

GetActiveStateName

(
    FStateTreeDataView ExternalStorage
)

Protected function Const

int32

 

GetActiveStates

(
    const FStateTreeHandle StateHandle,
    TStaticArray< FStateTreeHandle, 32 ...
)

Protected function Const

FStateTreeEx...

 

GetExecState

(
    FStateTreeDataView Storage
)

Public function Const

T::DataType ...

 

GetExternalData

(
    const T Handle
)

Returns reference to external data based on provided handle.

Public function Const

TConstArrayV...

 

GetExternalDataDescs()

Init() must be called before calling this method.

Public function Const

FStateTreeEx...

 

GetExternalDataHandleByStruct

(
    const UStruct* InStruct
)

Public function Const

T::DataType ...

 

GetExternalDataPtr

(
    const T Handle
)

Returns pointer to external data based on provided item handle.

Public function

FStateTreeDa...

 

GetExternalDataView

(
    const FStateTreeExternalDataHandle ...
)

Public function Const

T::DataType ...

 

GetInstanceData

(
    const T Handle
)

Returns reference to instance data property based on provided handle.

Protected function Const

FStateTreeDa...

 

GetInstanceData

(
    FStateTreeDataView Storage,
    const bool bIsObject,
    const int32 Index
)

Public function Const

T::DataType ...

 

GetInstanceDataPtr

(
    const T Handle
)

Returns pointer to instance data property based on provided handle.

Protected function Virtual Const

FString

 

GetInstanceDescription()

Public function Const

T *

 

GetInstanceObjectInternal

(
    const int32 DataViewIndex
)

Used internally by the Blueprint wrappers to get wrapped instance objects.

Protected function Const

T &

 

GetItem

(
    const int32 Index
)

Public function Const

EStateTreeRu...

 

GetLastTickStatus

(
    FStateTreeDataView ExternalStorage
)

Public function Const

UObject *...

 

GetOwner()

Protected function Const

FString

 

GetSafeStateName

(
    const FStateTreeHandle State
)

Public function Const

const FBaked...

 

GetStateFromHandle

(
    const FStateTreeHandle StateHandle
)

Protected function Const

FString

 

GetStateStatusString

(
    const FStateTreeStateStatus StateSt...
)

Public function Const

const UState...

 

GetStateTree()

Returns the StateTree asset in use.

Public function Const

UWorld *

 

GetWorld()

Public function

bool

 

Init

(
    UObject& InOwner,
    const UStateTree& InStateTree,
    const EStateTreeStorage InStorageTy...
)

Initializes the StateTree instance to be used with specific owner and StateTree asset.

Public function Const

bool

 

InitInstanceData

(
    UObject& InOwner,
    FStateTreeDataView ExternalStorage
)

Initializes external storage (no need to call, if using internal storage).

Public function Const

bool

 

IsValid()

Protected function

void

 

Reset()

Resets the instance to initial empty state.

Protected function

FStateTreeDa...

 

SelectMutableStorage

(
    FStateTreeDataView ExternalStorage
)

Protected function

FStateTreeTr...

 

SelectState

(
    FStateTreeDataView Storage,
    const FStateTreeStateStatus Initial...,
    const FStateTreeHandle InitialTarge...,
    const FStateTreeHandle NextState,
    const int Depth
)

Runs state selection logic starting at the specified state, walking towards the leaf states.

Protected function Const

const FState...

 

SelectStorage

(
    FStateTreeDataView ExternalStorage
)

Public function

void

 

SetExternalData

(
    const FStateTreeExternalDataHandle ...,
    FStateTreeDataView DataView
)

Sets external data view value for specific item.

Public function

EStateTreeRu...

 

Start

(
    FStateTreeDataView ExternalStorage
)

Start executing.

Protected function

void

 

StateCompleted

(
    FStateTreeDataView Storage,
    const FStateTreeHandle CurrentState,
    const EStateTreeRunStatus Completio...
)

Handles logic for exiting State.

Public function

EStateTreeRu...

 

Stop

(
    FStateTreeDataView ExternalStorage
)

Stop executing.

Protected function

bool

 

TestAllConditions

(
    FStateTreeDataView Storage,
    const uint32 ConditionsOffset,
    const uint32 ConditionsNum
)

Checks all conditions at given range

Public function

EStateTreeRu...

 

Tick

(
    const float DeltaTime,
    FStateTreeDataView ExternalStorage
)

Tick the state tree logic.

Protected function

void

 

TickEvaluators

(
    FStateTreeDataView Storage,
    const FStateTreeHandle CurrentState,
    const EStateTreeEvaluationType Eval...,
    const float DeltaTime
)

Ticks evaluators of all active states starting from current state by delta time.

Protected function

EStateTreeRu...

 

TickTasks

(
    FStateTreeDataView Storage,
    const FStateTreeHandle CurrentState,
    const float DeltaTime
)

Ticks tasks of all active states starting from current state by delta time.

Protected function

FStateTreeTr...

 

TriggerTransitions

(
    FStateTreeDataView Storage,
    const FStateTreeStateStatus Current...,
    const int Depth
)

Triggers transitions based on current run status.