40 lines
602 B
C++
40 lines
602 B
C++
#pragma once
|
|
|
|
#include "State.h"
|
|
#include "Pycron.h"
|
|
#include "Graphics/Graphics.h"
|
|
#include "States/GameState.h"
|
|
|
|
class Pycron;
|
|
class State;
|
|
class Graphics;
|
|
class GameState;
|
|
|
|
class StateManager {
|
|
private:
|
|
enum StateType {
|
|
EDITOR,
|
|
MENU,
|
|
GAME
|
|
};
|
|
|
|
State* m_currentState;
|
|
Pycron* m_pycron;
|
|
GameState* m_gameState;
|
|
|
|
public:
|
|
explicit StateManager(Pycron* pycron);
|
|
~StateManager();
|
|
|
|
void RequestStateChange(StateType state);
|
|
|
|
void RequestLoadGame();
|
|
void RequestRunGame();
|
|
void RequestStopGame();
|
|
|
|
void Draw(Graphics* graphics);
|
|
|
|
};
|
|
|
|
|