GameOverState.hxx 712 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #ifndef SNAKE_GAMEOVERSTATE_HXX
  3. #define SNAKE_GAMEOVERSTATE_HXX
  4. #include "AssetManager.hxx"
  5. #include "GameState.hxx"
  6. #include "ui/Button.hxx"
  7. #include "ui/LineInput.hxx"
  8. class GameOverState final : public GameState {
  9. public:
  10. GameOverState();
  11. void on_enter(GameStateManager& gsm) override;
  12. void on_leave() override;
  13. void on_event(GameStateManager& gsm, SDL_Event const& evt) override;
  14. void update(GameStateManager& gsm, std::chrono::milliseconds delta_time) override;
  15. void render(SDLRenderer& renderer) override;
  16. private:
  17. Button ok_button_{0, 0, 800, 80, UiColor::Green};
  18. LineInput name_input_{0, 0, 800, 80};
  19. Asset<TTF_Font*> font_;
  20. };
  21. #endif // SNAKE_GAMEOVERSTATE_HXX