GameContextData GameCycle::gameContextData() const { GameContextData res; res.currentPlayerId = currentPlayer()->id(); res.requestedPlayerId = requestedPlayer()->id(); res.turnNumber = turnNumber(); res.gamePlayState = gamePlayState(); if (gamePlayState() == GAMEPLAYSTATE_RESPONSE) { res.reactionType = reactionHandler()->reactionType(); Player* causedBy = reactionHandler()->causedBy(); res.causedBy = causedBy ? causedBy->id() : 0; } else { res.reactionType = REACTION_NONE; res.causedBy = 0; } return res; }
void Deadstorm::OnStartup() { Gem::GameStatePtr preloaderState(new PreloaderState()); Gem::GameStatePtr menuState(new MenuState()); Gem::GameStatePtr gamePlayState(new GameplayState()); g_gameStateManager.Register(g_gameStateId_Preloader, preloaderState); g_gameStateManager.Register(g_gameStateId_Menu, menuState); g_gameStateManager.Register(g_gameStateId_GamePlay, gamePlayState); g_gameStateManager.PushState(g_gameStateId_Preloader); }