12345678910111213141516171819202122232425262728293031323334353637 |
- #pragma once
- #ifndef SNAKE_GAMESTATE_HXX
- #define SNAKE_GAMESTATE_HXX
- #include <chrono>
- #include <SDL.h>
- class GameStateManager;
- class SDLRenderer;
- class GameState {
- public:
- virtual ~GameState() noexcept = default;
- virtual void on_enter(GameStateManager& gsm) { (void) gsm; }
- virtual void on_leave() { }
- virtual void on_event(GameStateManager& gsm, SDL_Event const& event)
- {
- (void) gsm;
- (void) event;
- }
- virtual void update(GameStateManager& gsm, std::chrono::milliseconds const delta_time)
- {
- (void) gsm;
- (void) delta_time;
- }
- virtual void render(SDLRenderer& renderer) = 0;
- };
- #endif // SNAKE_GAMESTATE_HXX
|