本文整理汇总了C++中BaseFacility::getCraft方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseFacility::getCraft方法的具体用法?C++ BaseFacility::getCraft怎么用?C++ BaseFacility::getCraft使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseFacility
的用法示例。
在下文中一共展示了BaseFacility::getCraft方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: viewRightClick
/**
* Processes right clicking on facilities.
* @param action Pointer to an action.
*/
void BasescapeState::viewRightClick(Action *)
{
BaseFacility *f = _view->getSelectedFacility();
if (f == 0)
{
_game->pushState(new BaseInfoState(_game, _base, this));
}
else if (f->getRules()->getCrafts() > 0)
{
if (f->getCraft() == 0)
{
_game->pushState(new CraftsState(_game, _base));
}
else
for (size_t craft = 0; craft < _base->getCrafts()->size(); ++craft)
{
if (f->getCraft() == _base->getCrafts()->at(craft))
{
_game->pushState(new CraftInfoState(_game, _base, craft));
break;
}
}
}
else if (f->getRules()->getStorage() > 0)
{
_game->pushState(new SellState(_game, _base));
}
else if (f->getRules()->getPersonnel() > 0)
{
_game->pushState(new SoldiersState(_game, _base));
}
else if (f->getRules()->getPsiLaboratories() > 0 && Options::anytimePsiTraining && _base->getAvailablePsiLabs() > 0)
{
_game->pushState(new AllocatePsiTrainingState(_game, _base));
}
else if (f->getRules()->getLaboratories() > 0)
{
_game->pushState(new ResearchState(_game, _base));
}
else if (f->getRules()->getWorkshops() > 0)
{
_game->pushState(new ManufactureState(_game, _base));
}
else if (f->getRules()->getAliens() > 0)
{
_game->pushState(new ManageAlienContainmentState(_game, _base, OPT_GEOSCAPE));
}
else if (f->getRules()->isLift() || f->getRules()->getRadarRange() > 0)
{
_game->popState();
}
}
示例2: viewMouseOver
/**
* Displays the name of the facility the mouse is over.
* @param action Pointer to an action.
*/
void BasescapeState::viewMouseOver(Action *)
{
BaseFacility *f = _view->getSelectedFacility();
std::wostringstream ss;
if (f != 0)
{
if (f->getRules()->getCrafts() == 0 || f->getBuildTime() > 0)
{
ss << tr(f->getRules()->getType());
}
else
{
ss << tr(f->getRules()->getType());
if (f->getCraft() != 0)
{
ss << L" " << tr("STR_CRAFT_").arg(f->getCraft()->getName(_game->getLanguage()));
}
}
}
_txtFacility->setText(ss.str());
}