XII Release 0.1.0
Loading...
Searching...
No Matches
xiiStateMachineState Class Referenceabstract

#include <StateMachine.h>

Inheritance diagram for xiiStateMachineState:
[legend]

Public Member Functions

 xiiStateMachineState (xiiStringView sName=xiiStringView())
void SetName (xiiStringView sName)
xiiStringView GetName () const
const xiiHashedString & GetNameHashed () const
virtual void OnEnter (xiiStateMachineInstance &ref_instance, void *pInstanceData, const xiiStateMachineState *pFromState) const =0
virtual void OnExit (xiiStateMachineInstance &ref_instance, void *pInstanceData, const xiiStateMachineState *pToState) const
virtual void Update (xiiStateMachineInstance &ref_instance, void *pInstanceData, xiiTime deltaTime) const
virtual xiiResult Serialize (xiiStreamWriter &inout_stream) const
virtual xiiResult Deserialize (xiiStreamReader &inout_stream)
virtual bool GetInstanceDataDesc (xiiInstanceDataDesc &out_desc)
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_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 xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Base class for a state in a state machine.

Note that states are shared between multiple instances and thus shouldn't modify any data on their own but always operate on the passed instance and instance data.

See also
xiiStateMachineInstanceDataDesc

Member Function Documentation

◆ GetInstanceDataDesc()

bool xiiStateMachineState::GetInstanceDataDesc ( xiiInstanceDataDesc & out_desc)
virtual

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

See also
xiiStateMachineInstanceDataDesc

Reimplemented in xiiStateMachineState_Compound, xiiStateMachineState_NestedStateMachine, and xiiStateMachineState_Script.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GameEngine/Components/StateMachine/StateMachine.h
  • /home/runner/work/XII/XII/Source/Engine/GameEngine/Components/StateMachine/Implementation/StateMachine.cpp