/** * Returns to the previous screen. * @param action Pointer to an action. */ void InventoryState::btnOkClick(Action *) { if (_inv->getSelectedItem() != 0) return; _game->popState(); Tile *inventoryTile = _battleGame->getSelectedUnit()->getTile(); if (!_tu) { saveEquipmentLayout(); _battleGame->resetUnitTiles(); if (_battleGame->getTurn() == 1) { _battleGame->randomizeItemLocations(inventoryTile); if (inventoryTile->getUnit()) { // make sure we select the unit closest to the ramp. _battleGame->setSelectedUnit(inventoryTile->getUnit()); } } // initialize xcom units for battle for (std::vector<BattleUnit*>::iterator j = _battleGame->getUnits()->begin(); j != _battleGame->getUnits()->end(); ++j) { if ((*j)->getOriginalFaction() != FACTION_PLAYER || (*j)->isOut()) { continue; } (*j)->prepareNewTurn(); } } }
/** * Returns to the previous screen. * @param action Pointer to an action. */ void InventoryState::btnOkClick(Action *) { if (_inv->getSelectedItem() != 0) return; _game->popState(); if (!_tu) { saveEquipmentLayout(); _battleGame->resetUnitTiles(); for (std::vector<BattleUnit*>::iterator i = _battleGame->getUnits()->begin(); i != _battleGame->getUnits()->end(); ++i) if ((*i)->getFaction() == _battleGame->getSide()) (*i)->prepareNewTurn(); } _battleGame->getTileEngine()->applyItemGravity(_battleGame->getSelectedUnit()->getTile()); _battleGame->getTileEngine()->calculateTerrainLighting(); // dropping/picking up flares }
/** * Returns to the previous screen. * @param action Pointer to an action. */ void InventoryState::btnOkClick(Action *) { if (_inv->getSelectedItem() != 0) return; _game->popState(); Tile *inventoryTile = _battleGame->getSelectedUnit()->getTile(); if (!_tu) { saveEquipmentLayout(); _battleGame->resetUnitTiles(); if (_battleGame->getTurn() == 1) { _battleGame->randomizeItemLocations(inventoryTile); if (inventoryTile->getUnit()) { // make sure we select the unit closest to the ramp. _battleGame->setSelectedUnit(inventoryTile->getUnit()); } } } }