MenuState.hxx 600 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #ifndef SNAKE_MENUSTATE_HXX
  3. #define SNAKE_MENUSTATE_HXX
  4. #include "GameState.hxx"
  5. #include "ui/Button.hxx"
  6. class MenuState final : public GameState {
  7. public:
  8. void update(GameStateManager& gsm, std::chrono::milliseconds delta_time) override;
  9. void render(SDLRenderer& renderer) override;
  10. private:
  11. static int const BUTTON_HEIGHT = 80;
  12. static int const BUTTON_WIDTH = 300;
  13. Button new_game_button_{"New game", 0, 0, BUTTON_WIDTH, BUTTON_HEIGHT};
  14. Button quit_button_{"Quit", 0, 0, BUTTON_WIDTH, BUTTON_HEIGHT};
  15. bool escape_pressed_{false};
  16. };
  17. #endif // SNAKE_MENUSTATE_HXX