Files
wc3re/game/GameState.hh

36 lines
670 B
C++

#ifndef WC3RE_GAME_GAMESTATE_HH__
#define WC3RE_GAME_GAMESTATE_HH__
#include <SDL2/SDL.h>
namespace render {
class Renderer;
}
namespace game {
class GameState {
public:
GameState(render::Renderer& renderer)
: renderer_(renderer) {
}
virtual ~GameState() {
}
/* Update and draw
* delta_ms is number of milliseconds since last call to draw
*/
virtual void draw(unsigned delta_ms) = 0;
/* Handle the event. Return true if the handler changes the current
* gamestate, false otherwise.
*/
virtual bool handleEvent(SDL_Event& event) = 0;
protected:
render::Renderer& renderer_;
};
}
#endif