Skip to content

FSMNodeRuntimeData

Module: SMSystem

#include <SMNode_Base.h>

Inherited by FSMStateBaseRuntimeData, FSMTransitionRuntimeData

Description

struct FSMNodeRuntimeData;

Maintains runtime data specific to a node that doesn't need to be serialized to disk. This is used to group properties that can be instantiated on the heap, lowering struct memory offset costs during BP compilation GC.

Public Functions

Name
virtual ~FSMNodeRuntimeData() =default
FSMNodeRuntimeData()
virtual TSharedPtr< FSMNodeRuntimeData > Clone() const

Public Attributes

Name
FSMNode_FunctionHandlers * FunctionHandlers
uint8 bWasActive

Protected Attributes

Name
TArray< FSMGraphProperty_Base_Runtime * > GraphProperties
FSMNode_Base * OwnerNode

Friends

Name
struct FSMNode_Base(FSMNode_Base )

Public Functions Documentation

function ~FSMNodeRuntimeData

virtual ~FSMNodeRuntimeData() =default

function FSMNodeRuntimeData

inline FSMNodeRuntimeData()

function Clone

inline virtual TSharedPtr< FSMNodeRuntimeData > Clone() const

Public Attributes Documentation

variable FunctionHandlers

FSMNode_FunctionHandlers * FunctionHandlers;

Contains all function handler pointers. Every child node should implement their own type and instantiate it under InitializeFunctionHandlers. This is used to lower struct memory offset costs during GC.


variable bWasActive

uint8 bWasActive;

Debug helper in case a state switches to inactive in one frame.


Protected Attributes Documentation

variable GraphProperties

TArray< FSMGraphProperty_Base_Runtime * > GraphProperties;

Custom graph structs with special handling. Dynamically loaded on initialization from embedded structs.


variable OwnerNode

FSMNode_Base * OwnerNode;

The node directly owning this node. Should be a StateMachine.


Private Attributes Documentation

variable ServerTimeInState

float ServerTimeInState;

Last recorded active time in state from the server.


variable bHaveGraphFunctionsInitialized

uint8 bHaveGraphFunctionsInitialized;

variable bIsInitializedForRun

uint8 bIsInitializedForRun;

variable bIsActive

uint8 bIsActive;

Friends

friend FSMNode_Base

friend struct FSMNode_Base(
    FSMNode_Base 
);