/** * Closes the window. * @param action Pointer to an action. */ void BriefingState::btnOkClick(Action *) { _game->popState(); Options::baseXResolution = Options::baseXBattlescape; Options::baseYResolution = Options::baseYBattlescape; _game->getScreen()->resetDisplay(false); BattlescapeState *bs = new BattlescapeState; int liveAliens = 0, liveSoldiers = 0; bs->getBattleGame()->tallyUnits(liveAliens, liveSoldiers); if (liveAliens > 0) { _game->pushState(bs); _game->getSavedGame()->getSavedBattle()->setBattleState(bs); _game->pushState(new NextTurnState(_game->getSavedGame()->getSavedBattle(), bs)); _game->pushState(new InventoryState(false, bs)); } else { Options::baseXResolution = Options::baseXGeoscape; Options::baseYResolution = Options::baseYGeoscape; _game->getScreen()->resetDisplay(false);; delete bs; _game->pushState(new AliensCrashState); } }
/** * Closes the window. * @param action Pointer to an action. */ void BriefingState::btnOkClick(Action *) { _game->popState(); BattlescapeState *bs = new BattlescapeState(_game); int liveAliens = 0, liveSoldiers = 0; bs->getBattleGame()->tallyUnits(liveAliens, liveSoldiers, false); if (liveAliens > 0) { _game->pushState(bs); _game->getSavedGame()->getSavedBattle()->setBattleState(bs); _game->pushState(new NextTurnState(_game, _game->getSavedGame()->getSavedBattle(), bs)); _game->pushState(new InventoryState(_game, false, bs)); } else { delete bs; _game->pushState(new AliensCrashState(_game)); } }