// ------------------------------------------------------- // Load content and prepare game // ------------------------------------------------------- bool Minesweeper::loadContent() { _context->mode = 2; addGameState(new MainGameState(_context)); addGameState(new GameOverState(_context)); addGameState(new MainMenuState(_context)); //addGameState(new HighscoreState(_context)); connectGameStates("GameOver", 1, "MainGame"); connectGameStates("GameOver", 2, "MainMenu"); connectGameStates("MainGame", 1, "GameOver"); connectGameStates("MainMenu", 1, "MainGame"); /* connectGameStates("MainMenu", 5, "Highscores"); connectGameStates("Highscores", 1, "MainMenu"); if (!_context->highscore_service.load()) { // add default scores for (int i = 0; i < 3; ++i) { PlayedTime t; t.minutes = 99; t.seconds = 99; t.mode = i; _context->highscore_service.add(t); _context->highscore_service.save(); } } */ //scoring::load(&_context->highscore); return true; }
GameStateManager::GameStateManager(InputManager * inputMgr, GameState initialState, BasicGameState* gameState) : mInputManager(inputMgr), mCurrentState(initialState), mCurrentGameState(gameState) { //Make sure all game states are initialised to null mGameStates[MAIN_MENU] = 0; mGameStates[LOBBY] = 0; mGameStates[IN_GAME] = 0; //Register ourselves to the input manager mInputManager->addKeyListener(this, "GameStateManager"); mInputManager->addMouseListener(this, "GameStateManager"); //Store the initial state addGameState(initialState, gameState); //Activate it gameState->activate(); }