Skip to main content

StateComponent Class Template

Stores the current state and last transition for an entity. More...

Declaration​

template <typename StateType> class helios::engine::state::components::StateComponent<StateType> { ... }

Private Member Typedefs Index​

template <typename StateType>
usingStateTransitionIdType = helios::engine::state::types::StateTransitionIdType< StateType >

Public Member Functions Index​

template <typename StateType>
StateTypestate () const noexcept

Returns the current state. More...

template <typename StateType>
StateTypefrom () const noexcept

Returns the source state of the last transition. More...

template <typename StateType>
voidsetStateFromTransitionContext (const helios::engine::state::types::StateTransitionContext< StateType > stateTransitionContext) noexcept

Updates state from a transition context. More...

template <typename StateType>
StateTransitionIdTypetransitionId () const noexcept

Returns the last transition ID. More...

Private Member Attributes Index​

template <typename StateType>
StateTypefrom_ = StateType::Undefined

The state that was transitioned from. More...

template <typename StateType>
StateTransitionIdTypetransitionId_ = StateTransitionIdType::Undefined

The last transition that occurred. More...

template <typename StateType>
StateTypestate_ = StateType::Undefined

The current state. More...

Description​

Stores the current state and last transition for an entity.

Typically attached to the session entity to track game-wide state. Updated by the StateManager during transitions.

Template Parameters
StateType

The state enum type.

See Also

StateManager

See Also

StateTransitionContext

Definition at line 27 of file StateComponent.ixx.

Private Member Typedefs​

StateTransitionIdType​

template <typename StateType>
using helios::engine::state::components::StateComponent< StateType >::StateTransitionIdType = helios::engine::state::types::StateTransitionIdType<StateType>

Definition at line 29 of file StateComponent.ixx.

Public Member Functions​

from()​

template <typename StateType>
StateType helios::engine::state::components::StateComponent< StateType >::from ()
inline noexcept

Returns the source state of the last transition.

Returns

The state that was transitioned from.

Definition at line 62 of file StateComponent.ixx.

62 StateType from() const noexcept {
63 return from_;
64 }

Referenced by helios::engine::runtime::world::Session::stateFrom.

setStateFromTransitionContext()​

template <typename StateType>
void helios::engine::state::components::StateComponent< StateType >::setStateFromTransitionContext (const helios::engine::state::types::StateTransitionContext< StateType > stateTransitionContext)
inline noexcept

Updates state from a transition context.

Parameters
stateTransitionContext

The completed transition context.

Definition at line 71 of file StateComponent.ixx.

Reference helios::registerComponents.

state()​

template <typename StateType>
StateType helios::engine::state::components::StateComponent< StateType >::state ()
inline noexcept

Returns the current state.

Returns

The current state value.

Definition at line 53 of file StateComponent.ixx.

53 StateType state() const noexcept {
54 return state_;
55 }

Referenced by helios::engine::runtime::world::Session::state.

transitionId()​

template <typename StateType>
StateTransitionIdType helios::engine::state::components::StateComponent< StateType >::transitionId ()
inline noexcept

Returns the last transition ID.

Returns

The transition that led to the current state.

Definition at line 82 of file StateComponent.ixx.

82 StateTransitionIdType transitionId() const noexcept {
83 return transitionId_;
84 }

Referenced by helios::engine::runtime::world::Session::stateTransitionId.

Private Member Attributes​

from_​

template <typename StateType>
StateType helios::engine::state::components::StateComponent< StateType >::from_ = StateType::Undefined

The state that was transitioned from.

Definition at line 34 of file StateComponent.ixx.

34 StateType from_ = StateType::Undefined;

state_​

template <typename StateType>
StateType helios::engine::state::components::StateComponent< StateType >::state_ = StateType::Undefined

The current state.

Definition at line 44 of file StateComponent.ixx.

44 StateType state_ = StateType::Undefined;

transitionId_​

template <typename StateType>
StateTransitionIdType helios::engine::state::components::StateComponent< StateType >::transitionId_ = StateTransitionIdType::Undefined

The last transition that occurred.

Definition at line 39 of file StateComponent.ixx.

39 StateTransitionIdType transitionId_ = StateTransitionIdType::Undefined;

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


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.