#pragma once #include "GameManagerState.h" #include "GameManager.h" class TitleScreen : public GameManagerState { public: void enter(GameManager * gamemgr) {}; void toggle(GameManager * gamemgr); void exit(GameManager* gamemgr) {} static GameManagerState& getInstance(); private: TitleScreen(){} TitleScreen(const TitleScreen& other); TitleScreen& operator=(const TitleScreen& other); }; class LoadingScreen : public GameManagerState { public: void enter(GameManager * gamemgr) {}; void toggle(GameManager * gamemgr); void exit(GameManager* gamemgr) {} static GameManagerState& getInstance(); private: LoadingScreen(){} LoadingScreen(const LoadingScreen& other); LoadingScreen& operator=(const LoadingScreen& other); }; class DayTime : public GameManagerState { public: void enter(GameManager * gamemgr) {}; void toggle(GameManager * gamemgr); void exit(GameManager* gamemgr) {} static GameManagerState& getInstance(); private: DayTime(){} DayTime(const DayTime& other); DayTime& operator=(const DayTime& other); }; class NightTime : public GameManagerState { public: void enter(GameManager * gamemgr) {}; void toggle(GameManager * gamemgr); void exit(GameManager* gamemgr) {} bool gameOver; static GameManagerState& getInstance(); private: NightTime(){} NightTime(const NightTime& other); NightTime& operator=(const NightTime& other); }; class GameOver : public GameManagerState { public: void enter(GameManager * gamemgr) {}; void toggle(GameManager * gamemgr); void exit(GameManager* gamemgr) {} static GameManagerState& getInstance(); private: GameOver(){} GameOver(const GameOver& other); GameOver& operator=(const GameOver& other); }; class PauseScreen : public GameManagerState { public: void enter(GameManager * gamemgr) {}; void toggle(GameManager * gamemgr); void exit(GameManager* gamemgr) {} static GameManagerState& getInstance(); private: PauseScreen(){} PauseScreen(const PauseScreen& other); PauseScreen& operator=(const PauseScreen& other); };