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

The state machine description defines the structure of a state machine like e.g. what states it has and how to transition between them. Once an instance is created from a description it is not allowed to change the description afterwards. More...

#include <StateMachine.h>

Inheritance diagram for plStateMachineDescription:

Public Member Functions

plUInt32 AddState (plUniquePtr< plStateMachineState > &&pState)
 Adds the given state to the description and returns the state index.
 
void AddTransition (plUInt32 uiFromStateIndex, plUInt32 uiToStateIndex, plUniquePtr< plStateMachineTransition > &&pTransistion)
 Adds the given transition between the two given states. A uiFromStateIndex of plInvalidIndex generates a transition that can be done from any other possible state.
 
plResult Serialize (plStreamWriter &inout_stream) const
 
plResult Deserialize (plStreamReader &inout_stream)
 
- Public Member Functions inherited from plRefCounted
virtual ~plRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from plRefCountingImpl
 plRefCountingImpl ()=default
 Constructor.
 
 plRefCountingImpl (const plRefCountingImpl &rhs)
 
void operator= (const plRefCountingImpl &rhs)
 
plInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
plInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
 
plInt32 GetRefCount () const
 Returns the current reference count.
 

Friends

class plStateMachineInstance
 

Detailed Description

The state machine description defines the structure of a state machine like e.g. what states it has and how to transition between them. Once an instance is created from a description it is not allowed to change the description afterwards.


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