Plasma Engine  2.0
Loading...
Searching...
No Matches
plStateMachineState_NestedStateMachine Class Reference

A state machine state implementation that represents another state machine nested within this state. This can be used to build hierarchical state machines. More...

#include <StateMachineBuiltins.h>

Inheritance diagram for plStateMachineState_NestedStateMachine:

Public Member Functions

 plStateMachineState_NestedStateMachine (plStringView sName=plStringView())
 
virtual void OnEnter (plStateMachineInstance &ref_instance, void *pInstanceData, const plStateMachineState *pFromState) const override
 
virtual void OnExit (plStateMachineInstance &ref_instance, void *pInstanceData, const plStateMachineState *pToState) const override
 
virtual void Update (plStateMachineInstance &ref_instance, void *pInstanceData, plTime deltaTime) const override
 
virtual plResult Serialize (plStreamWriter &inout_stream) const override
 
virtual plResult Deserialize (plStreamReader &inout_stream) override
 
virtual bool GetInstanceDataDesc (plInstanceDataDesc &out_desc) override
 Returns whether this state needs additional instance data and if so fills the out_desc.
 
void SetResource (const plStateMachineResourceHandle &hResource)
 
const plStateMachineResourceHandleGetResource () const
 
void SetResourceFile (const char *szFile)
 
const char * GetResourceFile () const
 
void SetInitialState (const char *szName)
 Defines which state should be used as initial state after the state machine was instantiated. If empty the state machine resource defines the initial state.
 
const char * GetInitialState () const
 
- Public Member Functions inherited from plStateMachineState
 plStateMachineState (plStringView sName=plStringView())
 
void SetName (plStringView sName)
 
plStringView GetName () const
 
const plHashedStringGetNameHashed () const
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 

Detailed Description

A state machine state implementation that represents another state machine nested within this state. This can be used to build hierarchical state machines.

Member Function Documentation

◆ Deserialize()

plResult plStateMachineState_NestedStateMachine::Deserialize ( plStreamReader & inout_stream)
overridevirtual

Reimplemented from plStateMachineState.

◆ GetInstanceDataDesc()

bool plStateMachineState_NestedStateMachine::GetInstanceDataDesc ( plInstanceDataDesc & out_desc)
overridevirtual

Returns whether this state needs additional instance data and if so fills the out_desc.

See also
plStateMachineInstanceDataDesc

Reimplemented from plStateMachineState.

◆ OnEnter()

void plStateMachineState_NestedStateMachine::OnEnter ( plStateMachineInstance & ref_instance,
void * pInstanceData,
const plStateMachineState * pFromState ) const
overridevirtual

Implements plStateMachineState.

◆ OnExit()

void plStateMachineState_NestedStateMachine::OnExit ( plStateMachineInstance & ref_instance,
void * pInstanceData,
const plStateMachineState * pToState ) const
overridevirtual

Reimplemented from plStateMachineState.

◆ Serialize()

plResult plStateMachineState_NestedStateMachine::Serialize ( plStreamWriter & inout_stream) const
overridevirtual

Reimplemented from plStateMachineState.

◆ Update()

void plStateMachineState_NestedStateMachine::Update ( plStateMachineInstance & ref_instance,
void * pInstanceData,
plTime deltaTime ) const
overridevirtual

Reimplemented from plStateMachineState.


The documentation for this class was generated from the following files: