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.

72 from_ = stateTransitionContext.from();
73 state_ = stateTransitionContext.to();
74 transitionId_ = stateTransitionContext.transitionId();
75 }

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.15.0.