namespace map {
+/// Shows a map and its entities an optionally control a single entity.
class MapState
: public app::State
, public common::ScriptHost {
virtual ~MapState() { }
public:
- virtual void OnEnterState(app::Application &ctrl, SDL_Surface *screen);
- virtual void OnExitState(app::Application &ctrl, SDL_Surface *screen);
- virtual void OnResumeState(app::Application &ctrl, SDL_Surface *screen);
- virtual void OnPauseState(app::Application &ctrl, SDL_Surface *screen);
- virtual void Resize(int width, int height);
-
virtual void HandleEvents(const app::Input &);
virtual void UpdateWorld(float deltaT);
virtual void Render(SDL_Surface *);
virtual void HandleSyscall(common::ScriptRunner &);
+private:
+ virtual void OnEnterState(SDL_Surface *screen);
+ virtual void OnExitState(SDL_Surface *screen);
+ virtual void OnResumeState(SDL_Surface *screen);
+ virtual void OnPauseState(SDL_Surface *screen);
+
+ virtual void OnResize(int width, int height);
+
private:
static bool ZCompare(const Entity *lhs, const Entity *rhs);
private:
common::GameConfig *game;
- app::Application *ctrl;
Map *map;
Entity *controlled;
Entity *pushed;