00001
00026 #ifndef _CSOKOBANSCENEGAME_H_
00027 #define _CSOKOBANSCENEGAME_H_
00028
00029 #include "GameState.h"
00030 #include "Level.h"
00031
00032 #include "Animation.h"
00033
00034 class CSokobanSceneGame: public CGameState {
00035 public:
00036 CSokobanSceneGame();
00037 virtual ~CSokobanSceneGame();
00038
00039 void init();
00040 void clear();
00041 void updateScene();
00042
00043 void keyboard(unsigned char key, int x, int y);
00044 void keyboardSpecial(int key, int x, int y);
00045
00046
00047
00048 protected:
00049
00050 void setLevel(int id);
00051
00052 void pause() {
00053 m_pause = true;
00054 }
00055 ;
00056 void play() {
00057 m_pause = false;
00058 }
00059 ;
00060 bool isPaused() const {
00061 return m_pause;
00062 }
00063 ;
00064
00065 void prepareLevel();
00066
00067 void resume();
00068 void nextLevel();
00069 void restartLevel();
00070 void goToMenu();
00071 void endGoToMenu();
00072
00073 void resultNextLevel(bool result);
00074 void resultGoToMenu(bool result);
00075 void resultExitApp(bool result);
00076
00077 void requestExitApp();
00078 void requestGoToMenu();
00079 void requestNextLevel();
00080
00081 void showScore();
00082 void showCursor();
00083 void showMenu();
00084 void showMessEndGame();
00085 void showConfNextLevel();
00086 void showConfExitApp();
00087 void showConfGoToMenu();
00088
00089 void hideCursor();
00090 void hideMenu();
00091 void hideMessEndGame();
00092 void hideConfNextLevel();
00093 void hideConfExitApp();
00094 void hideConfGoToMenu();
00095 void hideScore();
00096
00097 int getActualScore();
00098 void updateScoreLabel();
00099
00100 bool m_pause;
00101 CLevel* m_level;
00102
00103 CAnimation m_fadesAnimation;
00104
00105 bool m_fadeIn;
00106 bool m_fadeOut;
00107
00108 bool m_nextLevel;
00109 bool m_goToMenu;
00110 bool m_restartLevel;
00111 bool m_endOfGame;
00112
00113 };
00114
00115 #endif