EchoTrio
 
Loading...
Searching...
No Matches
FSM.FiniteStateMachine Class Reference

Finite state machine class to handle state transitions and updates. More...

Collaboration diagram for FSM.FiniteStateMachine:
Collaboration graph

Public Member Functions

delegate void FuncPtr ()
 Define a delegate that takes in 0 arguments and returns void.
 
 FiniteStateMachine (int numStates)
 
int GetCurrentState ()
 
int GetNextState ()
 
void SetStateEntry (int state, FuncPtr funcPtr=null)
 
void SetStateUpdate (int state, FuncPtr funcPtr=null)
 
void SetStateLateUpdate (int state, FuncPtr funcPtr=null)
 
void SetStateExit (int state, FuncPtr funcPtr=null)
 
void ChangeState (int nextState)
 
void Update ()
 
void LateUpdate ()
 

Public Attributes

readonly int NumStates = 0
 

Static Public Attributes

const int INVALID_STATE = -1
 

Private Attributes

int currentState = INVALID_STATE
 
int nextState = INVALID_STATE
 
FuncPtr[] stateEntries = null
 The entry callback function of states.
 
FuncPtr[] stateUpdates = null
 The update callback function of states.
 
FuncPtr[] stateLateUpdates = null
 The late update callback function of states.
 
FuncPtr[] stateExits = null
 The exit callback function of states.
 

Detailed Description

Finite state machine class to handle state transitions and updates.

Definition at line 3 of file FiniteStateMachine.cs.

Constructor & Destructor Documentation

◆ FiniteStateMachine()

FSM.FiniteStateMachine.FiniteStateMachine ( int  numStates)
inline

Definition at line 21 of file FiniteStateMachine.cs.

Member Function Documentation

◆ ChangeState()

void FSM.FiniteStateMachine.ChangeState ( int  nextState)
inline

Sets the next state to transit to.

Parameters
nextStateThe index of the next state.

Definition at line 40 of file FiniteStateMachine.cs.

◆ FuncPtr()

delegate void FSM.FiniteStateMachine.FuncPtr ( )

Define a delegate that takes in 0 arguments and returns void.

◆ GetCurrentState()

int FSM.FiniteStateMachine.GetCurrentState ( )
inline

Definition at line 30 of file FiniteStateMachine.cs.

◆ GetNextState()

int FSM.FiniteStateMachine.GetNextState ( )
inline

Definition at line 31 of file FiniteStateMachine.cs.

◆ LateUpdate()

void FSM.FiniteStateMachine.LateUpdate ( )
inline

Definition at line 57 of file FiniteStateMachine.cs.

◆ SetStateEntry()

void FSM.FiniteStateMachine.SetStateEntry ( int  state,
FuncPtr  funcPtr = null 
)
inline

Definition at line 33 of file FiniteStateMachine.cs.

◆ SetStateExit()

void FSM.FiniteStateMachine.SetStateExit ( int  state,
FuncPtr  funcPtr = null 
)
inline

Definition at line 36 of file FiniteStateMachine.cs.

◆ SetStateLateUpdate()

void FSM.FiniteStateMachine.SetStateLateUpdate ( int  state,
FuncPtr  funcPtr = null 
)
inline

Definition at line 35 of file FiniteStateMachine.cs.

◆ SetStateUpdate()

void FSM.FiniteStateMachine.SetStateUpdate ( int  state,
FuncPtr  funcPtr = null 
)
inline

Definition at line 34 of file FiniteStateMachine.cs.

◆ Update()

void FSM.FiniteStateMachine.Update ( )
inline

Definition at line 42 of file FiniteStateMachine.cs.

Member Data Documentation

◆ currentState

int FSM.FiniteStateMachine.currentState = INVALID_STATE
private

Definition at line 7 of file FiniteStateMachine.cs.

◆ INVALID_STATE

const int FSM.FiniteStateMachine.INVALID_STATE = -1
static

Definition at line 4 of file FiniteStateMachine.cs.

◆ nextState

int FSM.FiniteStateMachine.nextState = INVALID_STATE
private

Definition at line 8 of file FiniteStateMachine.cs.

◆ NumStates

readonly int FSM.FiniteStateMachine.NumStates = 0

Definition at line 6 of file FiniteStateMachine.cs.

◆ stateEntries

FuncPtr [] FSM.FiniteStateMachine.stateEntries = null
private

The entry callback function of states.

Definition at line 13 of file FiniteStateMachine.cs.

◆ stateExits

FuncPtr [] FSM.FiniteStateMachine.stateExits = null
private

The exit callback function of states.

Definition at line 19 of file FiniteStateMachine.cs.

◆ stateLateUpdates

FuncPtr [] FSM.FiniteStateMachine.stateLateUpdates = null
private

The late update callback function of states.

Definition at line 17 of file FiniteStateMachine.cs.

◆ stateUpdates

FuncPtr [] FSM.FiniteStateMachine.stateUpdates = null
private

The update callback function of states.

Definition at line 15 of file FiniteStateMachine.cs.


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