00001
00025 #ifndef _CSOKOBANSCENEMENU_H_
00026 #define _CSOKOBANSCENEMENU_H_
00027
00028 #include "Level.h"
00029 #include "GameState.h"
00030 #include "GUIForm.h"
00031
00032 #include "Animation.h"
00033
00034 class CSokobanSceneMenu: public CGameState {
00035 public:
00036 CSokobanSceneMenu();
00037 virtual ~CSokobanSceneMenu();
00038
00039 void init();
00040 void clear();
00041 void updateScene();
00042
00043 void keyboard(unsigned char key, int x, int y) {
00044 CGameState::keyboard(key, x, y);
00045 }
00046
00047 void keyboardSpecial(int key, int x, int y);
00048
00049
00050 void playGame();
00051 void quitGame(bool result);
00052 void resetGame(bool result);
00053 void createNewPlayer(bool result);
00054 void selectPlayer(bool result);
00055
00056 void requestQuitGame();
00057 void requestResetGame();
00058 void requestCreateNewPlayer();
00059 void requestSelectPlayer();
00060
00061 void showPlayerInfo();
00062 void showHeader();
00063 void showMenu();
00064 void showConfQuitGame();
00065 void showConfResetGame();
00066 void showPromptCreateNewPlayer();
00067 void showPromptSelectPlayer();
00068
00069 void hidePlayerInfo();
00070 void hideHeader();
00071 void hideMenu();
00072 void hideConfQuitGame();
00073 void hideConfResetGame();
00074 void hidePromptCreateNewPlayer();
00075 void hidePromptSelectPlayer();
00076
00077 void prepareProfiles();
00078 void setPlayerInfo(string name, int level, int score);
00079
00080 protected:
00081 CLevel* m_level;
00082
00086 bool m_fadeIn;
00087
00091 bool m_fadeOut;
00092
00096 CAnimation m_fadesAnimation;
00097
00098 };
00099
00100 #endif