fysxasteroids/asteroids/UserInterface.h

110 lines
1.9 KiB
C++

#ifndef USERINTERFACE
#define USERINTERFACE
namespace Engine {
class OverlayBase;
}
#include "OverlayBase.h"
#include "Sprite.h"
namespace asteroids {
class Model;
class View;
class MainMenuOverlay : public Engine::OverlayBase {
public:
MainMenuOverlay () {
};
virtual ~MainMenuOverlay() {};
virtual void Init ();
virtual bool OnKeyDown (const SDL_keysym &keysym);
virtual void Draw ();
private:
Engine::Sprite mShipSprite;
};
class GameRunningOverlay : public Engine::OverlayBase {
public:
GameRunningOverlay () {
};
virtual ~GameRunningOverlay() {};
virtual void Init ();
virtual bool OnKeyDown (const SDL_keysym &keysym);
virtual void Draw ();
private:
Engine::Sprite mShipSprite;
};
class GameOverOverlay : public Engine::OverlayBase {
public:
GameOverOverlay () {
};
virtual ~GameOverOverlay() {};
virtual void Init ();
virtual bool OnKeyDown (const SDL_keysym &keysym);
virtual void Draw ();
};
class LevelCompleteOverlay : public Engine::OverlayBase {
public:
LevelCompleteOverlay () {
};
virtual ~LevelCompleteOverlay() {};
virtual void Init ();
virtual bool OnKeyDown (const SDL_keysym &keysym);
virtual void Draw ();
};
class GamePausedOverlay : public Engine::OverlayBase {
public:
GamePausedOverlay () {
};
virtual ~GamePausedOverlay() {};
virtual void Init ();
virtual bool OnKeyDown (const SDL_keysym &keysym);
virtual void Draw ();
};
class PlayerDiedOverlay : public Engine::OverlayBase {
public:
PlayerDiedOverlay () {
};
virtual ~PlayerDiedOverlay() {};
virtual void Init ();
virtual bool OnKeyDown (const SDL_keysym &keysym);
virtual void Draw ();
};
class HighscoreOverlay : public Engine::OverlayBase {
public:
HighscoreOverlay () {
};
virtual ~HighscoreOverlay() {};
virtual void Init ();
virtual bool OnKeyDown (const SDL_keysym &keysym);
virtual void Draw ();
};
}
#endif /* USERINTERFACE */