本文整理汇总了C++中Armor::getRearArmor方法的典型用法代码示例。如果您正苦于以下问题:C++ Armor::getRearArmor方法的具体用法?C++ Armor::getRearArmor怎么用?C++ Armor::getRearArmor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Armor
的用法示例。
在下文中一共展示了Armor::getRearArmor方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ArticleStateTFTD
ArticleStateTFTDArmor::ArticleStateTFTDArmor(ArticleDefinitionTFTD *defs) : ArticleStateTFTD(defs), _row(0)
{
Armor *armor = _game->getMod()->getArmor(defs->id, true);
_lstInfo = new TextList(150, 64, 168, 110);
add(_lstInfo);
_lstInfo->setColor(Palette::blockOffset(0)+2);
_lstInfo->setColumns(2, 125, 25);
_lstInfo->setDot(true);
// Add armor values
addStat("STR_FRONT_ARMOR", armor->getFrontArmor());
addStat("STR_LEFT_ARMOR", armor->getLeftSideArmor());
addStat("STR_RIGHT_ARMOR", armor->getRightSideArmor());
addStat("STR_REAR_ARMOR", armor->getRearArmor());
addStat("STR_UNDER_ARMOR", armor->getUnderArmor());
_lstInfo->addRow(0);
++_row;
// Add damage modifiers
for (int i = 0; i < DAMAGE_TYPES; ++i)
{
ItemDamageType dt = (ItemDamageType)i;
int percentage = (int)Round(armor->getDamageModifier(dt) * 100.0f);
std::string damage = getDamageTypeText(dt);
if (percentage != 100 && damage != "STR_UNKNOWN")
{
addStat(damage, Text::formatPercentage(percentage));
}
}
_lstInfo->addRow(0);
++_row;
// Add unit stats
addStat("STR_TIME_UNITS", armor->getStats()->tu, true);
addStat("STR_STAMINA", armor->getStats()->stamina, true);
addStat("STR_HEALTH", armor->getStats()->health, true);
addStat("STR_BRAVERY", armor->getStats()->bravery, true);
addStat("STR_REACTIONS", armor->getStats()->reactions, true);
addStat("STR_FIRING_ACCURACY", armor->getStats()->firing, true);
addStat("STR_THROWING_ACCURACY", armor->getStats()->throwing, true);
addStat("STR_MELEE_ACCURACY", armor->getStats()->melee, true);
addStat("STR_STRENGTH", armor->getStats()->strength, true);
addStat("STR_PSIONIC_STRENGTH", armor->getStats()->psiStrength, true);
addStat("STR_PSIONIC_SKILL", armor->getStats()->psiSkill, true);
centerAllSurfaces();
}
示例2: ArticleState
ArticleStateArmor::ArticleStateArmor(Game *game, ArticleDefinitionArmor *defs, int palSwitch) : ArticleState(game, defs->id, palSwitch)
{
Armor *armor = _game->getRuleset()->getArmor(defs->id);
// add screen elements
_txtTitle = new Text(300, 16, 5, 24);
// Set palette
_game->setPalette(_game->getResourcePack()->getPalette("PALETTES.DAT_4")->getColors());
ArticleState::initLayout();
// add other elements
add(_txtTitle);
// Set up objects
_btnOk->setColor(Palette::blockOffset(0)+15);
_btnPrev->setColor(Palette::blockOffset(0)+15);
_btnNext->setColor(Palette::blockOffset(0)+15);
_txtTitle->setColor(Palette::blockOffset(14)+15);
_txtTitle->setBig();
_txtTitle->setText(Ufopaedia::buildText(_game, defs->title));
_image = new Surface(320, 200, 0, 0);
add(_image);
std::string look = armor->getSpriteInventory();
look += "M0.SPK";
if (!CrossPlatform::fileExists(CrossPlatform::getDataFile("UFOGRAPH/" + look)))
{
look = armor->getSpriteInventory() + ".SPK";
}
_game->getResourcePack()->getSurface(look)->blit(_image);
_lstInfo = new TextList(150, 60, 150, 69);
add(_lstInfo);
_lstInfo->setColor(Palette::blockOffset(14)+15);
_lstInfo->setColumns(2, 125, 25);
_lstInfo->setDot(true);
std::wstringstream ss;
ss.str(L"");ss.clear();
ss << armor->getFrontArmor();
_lstInfo->addRow(2, _game->getLanguage()->getString("STR_FRONT_ARMOR").c_str(), ss.str().c_str());
_lstInfo->setCellColor(0, 1, Palette::blockOffset(15)+4);
ss.str(L"");ss.clear();
ss << armor->getSideArmor();
_lstInfo->addRow(2, _game->getLanguage()->getString("STR_LEFT_ARMOR").c_str(), ss.str().c_str());
_lstInfo->setCellColor(1, 1, Palette::blockOffset(15)+4);
ss.str(L"");ss.clear();
ss << armor->getSideArmor();
_lstInfo->addRow(2, _game->getLanguage()->getString("STR_RIGHT_ARMOR").c_str(), ss.str().c_str());
_lstInfo->setCellColor(2, 1, Palette::blockOffset(15)+4);
ss.str(L"");ss.clear();
ss << armor->getRearArmor();
_lstInfo->addRow(2, _game->getLanguage()->getString("STR_REAR_ARMOR").c_str(), ss.str().c_str());
_lstInfo->setCellColor(3, 1, Palette::blockOffset(15)+4);
ss.str(L"");ss.clear();
ss << armor->getUnderArmor();
_lstInfo->addRow(2, _game->getLanguage()->getString("STR_UNDER_ARMOR").c_str(), ss.str().c_str());
_lstInfo->setCellColor(4, 1, Palette::blockOffset(15)+4);
_lstInfo->draw();
}
示例3: ArticleState
ArticleStateArmor::ArticleStateArmor(ArticleDefinitionArmor *defs) : ArticleState(defs->id), _row(0)
{
Armor *armor = _game->getMod()->getArmor(defs->id);
// add screen elements
_txtTitle = new Text(300, 17, 5, 24);
// Set palette
setPalette("PAL_BATTLEPEDIA");
ArticleState::initLayout();
// add other elements
add(_txtTitle);
// Set up objects
_btnOk->setColor(Palette::blockOffset(0)+15);
_btnPrev->setColor(Palette::blockOffset(0)+15);
_btnNext->setColor(Palette::blockOffset(0)+15);
_txtTitle->setColor(Palette::blockOffset(14)+15);
_txtTitle->setBig();
_txtTitle->setText(tr(defs->title));
_image = new Surface(320, 200, 0, 0);
add(_image);
std::string look = armor->getSpriteInventory();
look += "M0.SPK";
if (!CrossPlatform::fileExists(FileMap::getFilePath("UFOGRAPH/" + look)) && !_game->getMod()->getSurface(look))
{
look = armor->getSpriteInventory() + ".SPK";
}
_game->getMod()->getSurface(look)->blit(_image);
_lstInfo = new TextList(150, 96, 150, 46);
add(_lstInfo);
_lstInfo->setColor(Palette::blockOffset(14)+15);
_lstInfo->setColumns(2, 125, 25);
_lstInfo->setDot(true);
_txtInfo = new Text(300, 56, 8, 150);
add(_txtInfo);
_txtInfo->setColor(Palette::blockOffset(14)+15);
_txtInfo->setWordWrap(true);
_txtInfo->setText(tr(defs->text));
// Add armor values
addStat("STR_FRONT_ARMOR", armor->getFrontArmor());
addStat("STR_LEFT_ARMOR", armor->getSideArmor());
addStat("STR_RIGHT_ARMOR", armor->getSideArmor());
addStat("STR_REAR_ARMOR", armor->getRearArmor());
addStat("STR_UNDER_ARMOR", armor->getUnderArmor());
_lstInfo->addRow(0);
++_row;
// Add damage modifiers
for (int i = 0; i < Armor::DAMAGE_TYPES; ++i)
{
ItemDamageType dt = (ItemDamageType)i;
int percentage = (int)Round(armor->getDamageModifier(dt) * 100.0f);
std::string damage = getDamageTypeText(dt);
if (percentage != 100 && damage != "STR_UNKNOWN")
{
addStat(damage, Text::formatPercentage(percentage));
}
}
_lstInfo->addRow(0);
++_row;
// Add unit stats
addStat("STR_TIME_UNITS", armor->getStats()->tu, true);
addStat("STR_STAMINA", armor->getStats()->stamina, true);
addStat("STR_HEALTH", armor->getStats()->health, true);
addStat("STR_BRAVERY", armor->getStats()->bravery, true);
addStat("STR_REACTIONS", armor->getStats()->reactions, true);
addStat("STR_FIRING_ACCURACY", armor->getStats()->firing, true);
addStat("STR_THROWING_ACCURACY", armor->getStats()->throwing, true);
addStat("STR_MELEE_ACCURACY", armor->getStats()->melee, true);
addStat("STR_STRENGTH", armor->getStats()->strength, true);
addStat("STR_PSIONIC_STRENGTH", armor->getStats()->psiStrength, true);
addStat("STR_PSIONIC_SKILL", armor->getStats()->psiSkill, true);
centerAllSurfaces();
}
示例4: ArticleState
ArticleStateVehicle::ArticleStateVehicle(ArticleDefinitionVehicle *defs) : ArticleState(defs->id)
{
Unit *unit = _game->getMod()->getUnit(defs->id);
Armor *armor = _game->getMod()->getArmor(unit->getArmor());
RuleItem *item = _game->getMod()->getItem(defs->id);
// add screen elements
_txtTitle = new Text(310, 17, 5, 23);
_txtInfo = new Text(300, 150, 10, 122);
_lstStats = new TextList(300, 89, 10, 48);
// Set palette
setPalette("PAL_UFOPAEDIA");
ArticleState::initLayout();
// add other elements
add(_txtTitle);
add(_txtInfo);
add(_lstStats);
// Set up objects
_game->getMod()->getSurface("BACK10.SCR")->blit(_bg);
_btnOk->setColor(Palette::blockOffset(5));
_btnPrev->setColor(Palette::blockOffset(5));
_btnNext->setColor(Palette::blockOffset(5));
_txtTitle->setColor(Palette::blockOffset(15)+4);
_txtTitle->setBig();
_txtTitle->setText(tr(defs->title));
_txtInfo->setColor(Palette::blockOffset(15)-1);
_txtInfo->setWordWrap(true);
_txtInfo->setText(tr(defs->text));
_lstStats->setColor(Palette::blockOffset(15)+4);
_lstStats->setColumns(2, 175, 145);
_lstStats->setDot(true);
std::wostringstream ss;
ss << unit->getStats()->tu;
_lstStats->addRow(2, tr("STR_TIME_UNITS").c_str(), ss.str().c_str());
std::wostringstream ss2;
ss2 << unit->getStats()->health;
_lstStats->addRow(2, tr("STR_HEALTH").c_str(), ss2.str().c_str());
std::wostringstream ss3;
ss3 << armor->getFrontArmor();
_lstStats->addRow(2, tr("STR_FRONT_ARMOR").c_str(), ss3.str().c_str());
std::wostringstream ss4;
ss4 << armor->getSideArmor();
_lstStats->addRow(2, tr("STR_LEFT_ARMOR").c_str(), ss4.str().c_str());
std::wostringstream ss5;
ss5 << armor->getSideArmor();
_lstStats->addRow(2, tr("STR_RIGHT_ARMOR").c_str(), ss5.str().c_str());
std::wostringstream ss6;
ss6 << armor->getRearArmor();
_lstStats->addRow(2, tr("STR_REAR_ARMOR").c_str(), ss6.str().c_str());
std::wostringstream ss7;
ss7 << armor->getUnderArmor();
_lstStats->addRow(2, tr("STR_UNDER_ARMOR").c_str(), ss7.str().c_str());
_lstStats->addRow(2, tr("STR_WEAPON").c_str(), tr(defs->weapon).c_str());
if (!item->getCompatibleAmmo()->empty())
{
RuleItem *ammo = _game->getMod()->getItem(item->getCompatibleAmmo()->front());
std::wostringstream ss8;
ss8 << ammo->getPower();
_lstStats->addRow(2, tr("STR_WEAPON_POWER").c_str(), ss8.str().c_str());
_lstStats->addRow(2, tr("STR_AMMUNITION").c_str(), tr(ammo->getName()).c_str());
std::wostringstream ss9;
if (item->getClipSize() > 0)
{
ss9 << item->getClipSize();
}
else
{
ss9 << ammo->getClipSize();
}
_lstStats->addRow(2, tr("STR_ROUNDS").c_str(), ss9.str().c_str());
_txtInfo->setY(138);
}
else
{
std::wostringstream ss8;
ss8 << item->getPower();
_lstStats->addRow(2, tr("STR_WEAPON_POWER").c_str(), ss8.str().c_str());
}
centerAllSurfaces();
//.........这里部分代码省略.........
示例5: ArticleState
ArticleStateVehicle::ArticleStateVehicle(Game *game, ArticleDefinitionVehicle *defs, int palSwitch) : ArticleState(game, defs->id, palSwitch)
{
Unit *unit = _game->getRuleset()->getUnit(defs->id);
Armor *armor = _game->getRuleset()->getArmor(unit->getArmor());
RuleItem *item = _game->getRuleset()->getItem(defs->id);
// add screen elements
_txtTitle = new Text(310, 16, 5, 23);
_txtInfo = new Text(300, 150, 10, 122);
_lstStats = new TextList(300, 89, 10, 48);
// Set palette
_game->setPalette(_game->getResourcePack()->getPalette("PALETTES.DAT_3")->getColors());
// _game->setPalette(_game->getResourcePack()->getPalette("BACKPALS.DAT")->getColors(Palette::blockOffset(7)), Palette::backPos, 16);
ArticleState::initLayout();
// add other elements
add(_txtTitle);
add(_txtInfo);
add(_lstStats);
// Set up objects
_game->getResourcePack()->getSurface("BACK10.SCR")->blit(_bg);
_btnOk->setColor(Palette::blockOffset(5));
_btnPrev->setColor(Palette::blockOffset(5));
_btnNext->setColor(Palette::blockOffset(5));
_txtTitle->setColor(Palette::blockOffset(15)+4);
_txtTitle->setBig();
_txtTitle->setText(Ufopaedia::buildText(_game, defs->title));
_txtInfo->setColor(Palette::blockOffset(15)-1);
_txtInfo->setWordWrap(true);
_txtInfo->setText(Ufopaedia::buildText(_game, defs->text));
_lstStats->setColor(Palette::blockOffset(15)+4);
_lstStats->setColumns(2, 175, 145);
_lstStats->setDot(true);
std::wstringstream ss;
ss << unit->getStats()->tu;
_lstStats->addRow(2, _game->getLanguage()->getString("STR_TIME_UNITS").c_str(), ss.str().c_str());
std::wstringstream ss2;
ss2 << unit->getStats()->health;
_lstStats->addRow(2, _game->getLanguage()->getString("STR_HEALTH").c_str(), ss2.str().c_str());
std::wstringstream ss3;
ss3 << armor->getFrontArmor();
_lstStats->addRow(2, _game->getLanguage()->getString("STR_FRONT_ARMOR").c_str(), ss3.str().c_str());
std::wstringstream ss4;
ss4 << armor->getSideArmor();
_lstStats->addRow(2, _game->getLanguage()->getString("STR_LEFT_ARMOR").c_str(), ss4.str().c_str());
std::wstringstream ss5;
ss5 << armor->getSideArmor();
_lstStats->addRow(2, _game->getLanguage()->getString("STR_RIGHT_ARMOR").c_str(), ss5.str().c_str());
std::wstringstream ss6;
ss6 << armor->getRearArmor();
_lstStats->addRow(2, _game->getLanguage()->getString("STR_REAR_ARMOR").c_str(), ss6.str().c_str());
std::wstringstream ss7;
ss7 << armor->getUnderArmor();
_lstStats->addRow(2, _game->getLanguage()->getString("STR_UNDER_ARMOR").c_str(), ss7.str().c_str());
_lstStats->addRow(2, _game->getLanguage()->getString("STR_WEAPON").c_str(), _game->getLanguage()->getString(item->getName()).c_str());
std::wstringstream ss8;
ss8 << unit->getStats()->tu;
_lstStats->addRow(2, _game->getLanguage()->getString("STR_WEAPON_POWER").c_str(), ss8.str().c_str());
if (item->getClipSize() != -1)
{
RuleItem *ammo = _game->getRuleset()->getItem(item->getCompatibleAmmo()->front());
_lstStats->addRow(2, _game->getLanguage()->getString("STR_AMMUNITION").c_str(), _game->getLanguage()->getString(ammo->getName()).c_str());
std::wstringstream ss9;
ss9 << ammo->getClipSize();
_lstStats->addRow(2, _game->getLanguage()->getString("STR_ROUNDS").c_str(), ss9.str().c_str());
_txtInfo->setY(138);
}
}