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

A state machine state implementation that combines multiple sub states into one. More...

#include <StateMachineBuiltins.h>

Inheritance diagram for plStateMachineState_Compound:

Public Member Functions

 plStateMachineState_Compound (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.
 
- 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.
 

Public Attributes

plSmallArray< plStateMachineState *, 2 > m_SubStates
 

Additional Inherited Members

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

Detailed Description

A state machine state implementation that combines multiple sub states into one.

Can be used to build states in a more modular way. All calls are simply redirected to all sub states, e.g. when entered it calls OnEnter on all its sub states.

Member Function Documentation

◆ Deserialize()

plResult plStateMachineState_Compound::Deserialize ( plStreamReader & inout_stream)
overridevirtual

Reimplemented from plStateMachineState.

◆ GetInstanceDataDesc()

bool plStateMachineState_Compound::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_Compound::OnEnter ( plStateMachineInstance & ref_instance,
void * pInstanceData,
const plStateMachineState * pFromState ) const
overridevirtual

Implements plStateMachineState.

◆ OnExit()

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

Reimplemented from plStateMachineState.

◆ Serialize()

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

Reimplemented from plStateMachineState.

◆ Update()

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

Reimplemented from plStateMachineState.


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