diff options
| author | Samu Laaksonen <laaksonen.sj@gmail.com> | 2012-09-25 20:00:41 +0300 |
|---|---|---|
| committer | Samu Laaksonen <laaksonen.sj@gmail.com> | 2012-09-25 20:00:41 +0300 |
| commit | 685fe05def77b039221edf06c74af74915d536c5 (patch) | |
| tree | 9c1a14b8f68bc0f801bdec3edc447d04fdbf7a4c /src/GameView.h | |
| parent | 29eabac0670574efd384182c065f53d08c42a483 (diff) | |
| download | prism-685fe05def77b039221edf06c74af74915d536c5.tar.gz prism-685fe05def77b039221edf06c74af74915d536c5.zip | |
Initial code commit
Added some stuff for project base
- tiled sources
- few Qt based classes for gfx
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 |
