diff options
Diffstat (limited to 'src/GameView.h')
| -rw-r--r-- | src/GameView.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/GameView.h b/src/GameView.h new file mode 100644 index 0000000..b45dfb6 --- /dev/null +++ b/src/GameView.h @@ -0,0 +1,57 @@ +#ifndef GameView_h +#define GameView_h + +#include <QGraphicsView> +#include <QList> +#include <QTimer> + +class ActionScene; +class GameScene; +class SceneChanger; + +class GameView : public QGraphicsView +{ + Q_OBJECT +public: + static GameView *instance(); + + GameScene *getScene(const QString &); + GameScene *getCurrentScene(); + + ActionScene* getActionScene(); + +signals: + +public slots: + + void gameOver(); + + void showMenuScene(); + void showLevelSelectionScene(); + void showCreditsScene(); + void showActionScene(); + + void changeScene(GameScene* ); + void showScene(GameScene *); + void showScene(const QString &); + +private slots: + + //! Calls GameScene::updateLogic of the current scene + void updateSceneLogic(); + +private: + explicit GameView(QWidget *parent = 0); + + static GameView *m_instance; + + ActionScene* m_actionScene; + SceneChanger* m_sceneChanger; + + QList<GameScene *> m_scenes; + + //! Timer used to scene updates + QTimer *m_gameTimer; +}; + +#endif // GameView_h |
