コード例 #1
0
// -------------------------------------------------------
// 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;
}
コード例 #2
0
	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();
	}