KaijuSaveEarth/src/fsm/ConcreteGMStates.h
2021-01-29 21:14:20 -05:00

83 lines
2.1 KiB
C++

#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);
};