#ifndef GAME_STATE_HPP_INCLUDED #define GAME_STATE_HPP_INCLUDED #include "game.hpp" class GameState { public: virtual void Init() = 0; virtual void Clean() = 0; virtual void Pause() = 0; virtual void Resume() = 0; virtual void HandleEvents ( game * Game ) = 0; virtual void Update ( game * Game ) = 0; virtual void Draw ( game * Game ) = 0; void ChangeState ( game * Game, GameState * state ) { Game->ChangeState ( state ); } protected: GameState() { } bool FirstRun; }; #endif