Skip to content

FSMStateMachineRuntimeData

Module: SMSystem

Inherits from FSMStateBaseRuntimeData

Public Functions

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

Friends

Name
struct FSMStateMachine(FSMStateMachine )

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 
);