Skip to content

FSMStateMachineRuntimeData¶

Module: SMSystem

Inherits from FSMStateBaseRuntimeData

Public Functions¶

Name
FSMStateMachineRuntimeData()
virtual TSharedPtr< FSMNodeRuntimeData > Clone() const override

Friends¶

Public Functions Documentation¶

function FSMStateMachineRuntimeData¶

inline FSMStateMachineRuntimeData()

function Clone¶

inline virtual TSharedPtr< FSMNodeRuntimeData > Clone() const override

Private Attributes Documentation¶

variable States¶

TArray< FSMState_Base * > States;

States contained within this FSM level.


variable Transitions¶

TArray< FSMTransition * > Transitions;

Transitions contained within this FSM level.


variable EntryStates¶

TArray< FSMState_Base * > EntryStates;

The default root entry point.


variable TemporaryEntryStates¶

TArray< FSMState_Base * > TemporaryEntryStates;

Entry states that are temporary and used for loading purposes.


variable ActiveStates¶

TArray< FSMState_Base * > ActiveStates;

In most cases this should be of size 0 or 1. Greater than 1 implies the sm is configured for multiple active states. Array container needed for exact order when adding parallel states. O(n) operations should be acceptable for average number of active states and only on state changes.


variable StateNameMap¶

TMap< FString, FSMState_Base * > StateNameMap;

All contained states, mapped by their name.


variable ProcessingStates¶

TMap< FGuid, TSet< FSMState_Base * > > ProcessingStates;

Keeps track of states currently processing for the given FSM scope. Helps with possible infinite recursion when using multiple states that can re-enter each other.


variable IsReferencedByStateMachine¶

FSMStateMachine * IsReferencedByStateMachine;

The state machine referencing this state machine, if any.


variable TimeSpentWaitingForUpdate¶

float TimeSpentWaitingForUpdate;

Current time spent waiting for an update.


variable bWaitingForTransitionUpdate¶

uint8 bWaitingForTransitionUpdate;

Is currently waiting for an update.


variable bCanEvaluateTransitions¶

uint8 bCanEvaluateTransitions;

Can this instance even evaluate transitions.


variable bCanTakeTransitions¶

uint8 bCanTakeTransitions;

Once evaluated can this instance take the transition.


variable bHasReachedEndStateForRun¶

uint8 bHasReachedEndStateForRun;

True if the state machine has reached an end state at least once and is reset on node initialize.


Friends¶

friend FSMStateMachine¶

friend struct FSMStateMachine(
    FSMStateMachine 
);