37 void registerState(
int stateID, std::shared_ptr<GameState> state);
49 void setEventBus(std::shared_ptr<EventBus> eventBus);
52 std::vector<std::shared_ptr<GameState>>
_states;
Type-safe event publication/subscription system.
Handles switching between game states.
GameStateManager()=default
int getCurrentState() const override
std::vector< std::shared_ptr< GameState > > _states
void registerState(int stateID, std::shared_ptr< GameState > state)
Register a game state.
std::shared_ptr< EventBus > _eventBus
void changeState(int stateID) override
void setEventBus(std::shared_ptr< EventBus > eventBus)
Set EventBus for publishing state change events.
void update(float dt)
Update current state.
~GameStateManager() override=default
Interface for managing game states.