本文整理汇总了C++中SavedBattleGame::getLength方法的典型用法代码示例。如果您正苦于以下问题:C++ SavedBattleGame::getLength方法的具体用法?C++ SavedBattleGame::getLength怎么用?C++ SavedBattleGame::getLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SavedBattleGame
的用法示例。
在下文中一共展示了SavedBattleGame::getLength方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: prepareDebriefing
//.........这里部分代码省略.........
}
}
}
}
}
if (((playerInExitArea == 0 && aborted) || (playersSurvived == 0)) && craft != 0)
{
addStat("STR_XCOM_CRAFT_LOST", 1, -200);
delete craft;
base->getCrafts()->erase(craftIterator);
for (std::vector<Soldier*>::iterator i = base->getSoldiers()->begin(); i != base->getSoldiers()->end();)
{
if ((*i)->getCraft() == craft)
{
delete (*i);
i = base->getSoldiers()->erase(i);
}
else
{
++i;
}
}
_txtTitle->setText(_game->getLanguage()->getString("STR_CRAFT_IS_LOST"));
return;
}
if (!aborted && playersSurvived > 0) // RECOVER UFO : run through all tiles to recover UFO components and items
{
if (battle->getMissionType() == "STR_BASE_DEFENCE")
{
_txtTitle->setText(_game->getLanguage()->getString("STR_BASE_IS_SAVED"));
}
else
{
_txtTitle->setText(_game->getLanguage()->getString("STR_UFO_IS_RECOVERED"));
}
for (int i = 0; i < battle->getHeight() * battle->getLength() * battle->getWidth(); ++i)
{
for (int part = 0; part < 4; part++)
{
if (battle->getTiles()[i]->getMapData(part))
{
switch (battle->getTiles()[i]->getMapData(part)->getSpecialType())
{
case UFO_POWER_SOURCE:
addStat("STR_UFO_POWER_SOURCE", 1, 1); break;
case DESTROY_OBJECTIVE:break; // this is the brain
case UFO_NAVIGATION:
addStat("STR_UFO_NAVIGATION", 1, 1); break;
case ALIEN_FOOD:
addStat("STR_ALIEN_FOOD", 1, 1); break;
case ALIEN_REPRODUCTION:
addStat("STR_ALIEN_REPRODUCTION", 1, 1); break;
case ALIEN_ENTERTAINMENT:
addStat("STR_ALIEN_ENTERTAINMENT", 1, 1); break;
case ALIEN_SURGERY:
addStat("STR_ALIEN_SURGERY", 1, 1); break;
case UNKNOWN09:
addStat("STR_UFO_CONSTRUCTION", 1, 1); break;
case ALIEN_ALLOYS:
addStat("STR_ALIEN_ALLOYS", 1, 1); break;
case EXAM_ROOM:
addStat("STR_EXAMINATION_ROOM", 1, 1); break;
}
}
}
}
// alien alloys recovery values are divided by 10 or divided by 150 in case of an alien base
int divider = battle->getMissionType()=="STR_ALIEN_BASE_ASSAULT"?150:10;
for (std::vector<DebriefingStat*>::iterator i = _stats.begin(); i != _stats.end(); ++i)
{
if ((*i)->item == "STR_ALIEN_ALLOYS")
{
(*i)->qty = (*i)->qty / divider;
(*i)->score = (*i)->score / divider;
break;
}
/*if ((*i)->recovery && (*i)->qty > 0)
{
base->getItems()->addItem((*i)->item, (*i)->qty);
}*/
}
}
else
{
if (battle->getMissionType() == "STR_BASE_DEFENCE")
{
_txtTitle->setText(_game->getLanguage()->getString("STR_BASE_IS_LOST"));
}
else
{
_txtTitle->setText(_game->getLanguage()->getString("STR_UFO_IS_NOT_RECOVERED"));
}
}
}