R-Type
Distributed multiplayer game engine in C++
Loading...
Searching...
No Matches
server::GameStateManager Class Reference

Handles switching between game states. More...

#include <GameStateManager.hpp>

Inheritance diagram for server::GameStateManager:
Inheritance graph
Collaboration diagram for server::GameStateManager:
Collaboration graph

Public Member Functions

 GameStateManager ()=default
 
 ~GameStateManager () override=default
 
void changeState (int stateID) override
 
int getCurrentState () const override
 
void registerState (int stateID, std::shared_ptr< GameState > state)
 Register a game state.
 
void update (float dt)
 Update current state.
 
void setEventBus (std::shared_ptr< EventBus > eventBus)
 Set EventBus for publishing state change events.
 
- Public Member Functions inherited from server::IGameStateManager
virtual ~IGameStateManager ()=default
 

Private Attributes

std::vector< std::shared_ptr< GameState > > _states
 
int _currentStateID {-1}
 
std::shared_ptr< EventBus_eventBus
 

Detailed Description

Handles switching between game states.

Definition at line 23 of file GameStateManager.hpp.

Constructor & Destructor Documentation

◆ GameStateManager()

server::GameStateManager::GameStateManager ( )
default

◆ ~GameStateManager()

server::GameStateManager::~GameStateManager ( )
overridedefault

Member Function Documentation

◆ changeState()

void server::GameStateManager::changeState ( int  stateID)
overridevirtual

Implements server::IGameStateManager.

Definition at line 15 of file GameStateManager.cpp.

References _currentStateID, _states, LOG_ERROR, and LOG_INFO.

◆ getCurrentState()

int server::GameStateManager::getCurrentState ( ) const
overridevirtual

Implements server::IGameStateManager.

Definition at line 39 of file GameStateManager.cpp.

References _currentStateID.

◆ registerState()

void server::GameStateManager::registerState ( int  stateID,
std::shared_ptr< GameState state 
)

Register a game state.

Parameters
stateIDState identifier
stateShared pointer to GameState

Definition at line 43 of file GameStateManager.cpp.

References _states.

◆ setEventBus()

void server::GameStateManager::setEventBus ( std::shared_ptr< EventBus eventBus)

Set EventBus for publishing state change events.

Parameters
eventBusShared pointer to EventBus

Definition at line 58 of file GameStateManager.cpp.

References _eventBus.

◆ update()

void server::GameStateManager::update ( float  dt)

Update current state.

Parameters
dtDelta time

Definition at line 51 of file GameStateManager.cpp.

References _currentStateID, and _states.

Member Data Documentation

◆ _currentStateID

int server::GameStateManager::_currentStateID {-1}
private

Definition at line 53 of file GameStateManager.hpp.

Referenced by changeState(), getCurrentState(), and update().

◆ _eventBus

std::shared_ptr<EventBus> server::GameStateManager::_eventBus
private

Definition at line 54 of file GameStateManager.hpp.

Referenced by setEventBus().

◆ _states

std::vector<std::shared_ptr<GameState> > server::GameStateManager::_states
private

Definition at line 52 of file GameStateManager.hpp.

Referenced by changeState(), registerState(), and update().


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