2010-04-05 23:38:59 +02:00
|
|
|
#ifndef MENUOVERLAY
|
|
|
|
#define MENUOVERLAY
|
|
|
|
|
|
|
|
namespace Engine {
|
|
|
|
class OverlayBase;
|
|
|
|
}
|
|
|
|
|
|
|
|
#include "OverlayBase.h"
|
|
|
|
#include "Sprite.h"
|
|
|
|
|
|
|
|
namespace asteroids {
|
|
|
|
|
|
|
|
class Model;
|
2010-05-02 22:39:49 +02:00
|
|
|
class View;
|
2010-04-05 23:38:59 +02:00
|
|
|
|
|
|
|
class MenuOverlay : public Engine::OverlayBase {
|
|
|
|
public:
|
|
|
|
MenuOverlay () {
|
|
|
|
};
|
|
|
|
void Init ();
|
|
|
|
virtual ~MenuOverlay() {};
|
|
|
|
|
|
|
|
virtual bool OnKeyDown (const SDL_keysym &keysym);
|
|
|
|
virtual void Draw ();
|
|
|
|
|
|
|
|
void DrawGameOverScreen ();
|
|
|
|
void DrawGameMenu();
|
|
|
|
void DrawGameLevelComplete ();
|
|
|
|
void DrawGamePaused ();
|
|
|
|
void DrawGameRunning ();
|
|
|
|
void DrawPlayerDied ();
|
|
|
|
|
|
|
|
void SetModel (Model *model) { mModel = model; };
|
2010-05-02 22:39:49 +02:00
|
|
|
void SetView (View *view) { mView = view; };
|
2010-04-05 23:38:59 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
Model *mModel;
|
2010-05-02 22:39:49 +02:00
|
|
|
View *mView;
|
2010-04-05 23:38:59 +02:00
|
|
|
Engine::Sprite mShipSprite;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* MENUOVERLAY */
|