State machine for a single enum type. More...
#include <MultiCustomStateManager.h>
Public Member Functions | |
| StateEnum | getState () const |
| Return the current state value. | |
| bool | isState (StateEnum state) const |
Return true if the current state equals state. | |
| void | onStateEnter (std::function< void(StateEnum)> cb) |
| Register a callback invoked when any state is entered. | |
| void | onStateExit (std::function< void(StateEnum)> cb) |
| Register a callback invoked when any state is exited. | |
| void | setState (StateEnum newState) |
| Transition to a new state. | |
State machine for a single enum type.
Stores one current state value of type StateEnum and fires optional enter/exit callbacks on every transition. One SingleStateManager base is inherited per distinct state enum.
MultiCustomStateManager. User code accesses states through the component's unified API.| StateEnum | An enum class type representing the possible states. |
Definition at line 30 of file MultiCustomStateManager.h.
|
inline |
Return the current state value.
Definition at line 57 of file MultiCustomStateManager.h.
|
inline |
Return true if the current state equals state.
| state | State value to compare against. |
true if currently in state. Definition at line 64 of file MultiCustomStateManager.h.
|
inline |
Register a callback invoked when any state is entered.
The callback receives the newly entered state as its argument. Only one enter callback is active at a time; calling this again replaces the previous one.
| cb | Callback invoked with the new state after each transition. |
Definition at line 75 of file MultiCustomStateManager.h.
|
inline |
Register a callback invoked when any state is exited.
The callback receives the state being left as its argument. Only one exit callback is active at a time; calling this again replaces the previous one.
| cb | Callback invoked with the old state before each transition. |
Definition at line 86 of file MultiCustomStateManager.h.
|
inline |
Transition to a new state.
If an exit callback is registered, it is called with the current state before the transition. If an enter callback is registered, it is called with the new state after the transition.
| newState | The state to transition into. |
Definition at line 46 of file MultiCustomStateManager.h.