本文整理汇总了C++中Armor::getUnits方法的典型用法代码示例。如果您正苦于以下问题:C++ Armor::getUnits方法的具体用法?C++ Armor::getUnits怎么用?C++ Armor::getUnits使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Armor
的用法示例。
在下文中一共展示了Armor::getUnits方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: lstSoldiersClick
/**
* Shows the Select Armor window.
* @param action Pointer to an action.
*/
void CraftArmorState::lstSoldiersClick(Action *action)
{
Soldier *s = _base->getSoldiers()->at(_lstSoldiers->getSelectedRow());
if (!(s->getCraft() && s->getCraft()->getStatus() == "STR_OUT"))
{
if (action->getDetails()->button.button == SDL_BUTTON_LEFT)
{
_game->pushState(new SoldierArmorState(_base, _lstSoldiers->getSelectedRow()));
}
else if (action->getDetails()->button.button == SDL_BUTTON_RIGHT)
{
SavedGame *save;
save = _game->getSavedGame();
Armor *a = _game->getMod()->getArmor(save->getLastSelectedArmor());
if (a && (a->getUnits().empty() || std::find(a->getUnits().begin(), a->getUnits().end(), s->getRules()->getType()) != a->getUnits().end()))
{
if (save->getMonthsPassed() != -1)
{
if (_base->getStorageItems()->getItem(a->getStoreItem()) > 0 || a->getStoreItem() == Armor::NONE)
{
if (s->getArmor()->getStoreItem() != Armor::NONE)
{
_base->getStorageItems()->addItem(s->getArmor()->getStoreItem());
}
if (a->getStoreItem() != Armor::NONE)
{
_base->getStorageItems()->removeItem(a->getStoreItem());
}
s->setArmor(a);
_lstSoldiers->setCellText(_lstSoldiers->getSelectedRow(), 2, tr(a->getType()));
}
}
else
{
s->setArmor(a);
_lstSoldiers->setCellText(_lstSoldiers->getSelectedRow(), 2, tr(a->getType()));
}
}
}
}
}