MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / ArticleStateVehicle

Method ArticleStateVehicle

src/Ufopaedia/ArticleStateVehicle.cpp:40–132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38{
39
40 ArticleStateVehicle::ArticleStateVehicle(Game *game, ArticleDefinitionVehicle *defs) : ArticleState(game, defs->id)
41 {
42 Unit *unit = _game->getRuleset()->getUnit(defs->id);
43 Armor *armor = _game->getRuleset()->getArmor(unit->getArmor());
44 RuleItem *item = _game->getRuleset()->getItem(defs->id);
45
46 // add screen elements
47 _txtTitle = new Text(310, 17, 5, 23);
48 _txtInfo = new Text(300, 150, 10, 122);
49 _lstStats = new TextList(300, 89, 10, 48);
50
51 // Set palette
52 setPalette("PAL_UFOPAEDIA");
53
54 ArticleState::initLayout();
55
56 // add other elements
57 add(_txtTitle);
58 add(_txtInfo);
59 add(_lstStats);
60
61 // Set up objects
62 _game->getResourcePack()->getSurface("BACK10.SCR")->blit(_bg);
63 _btnOk->setColor(Palette::blockOffset(5));
64 _btnPrev->setColor(Palette::blockOffset(5));
65 _btnNext->setColor(Palette::blockOffset(5));
66
67 _txtTitle->setColor(Palette::blockOffset(15)+4);
68 _txtTitle->setBig();
69 _txtTitle->setText(tr(defs->title));
70
71 _txtInfo->setColor(Palette::blockOffset(15)-1);
72 _txtInfo->setWordWrap(true);
73 _txtInfo->setText(tr(defs->text));
74
75 _lstStats->setColor(Palette::blockOffset(15)+4);
76 _lstStats->setColumns(2, 175, 145);
77 _lstStats->setDot(true);
78
79 std::wostringstream ss;
80 ss << unit->getStats()->tu;
81 _lstStats->addRow(2, tr("STR_TIME_UNITS").c_str(), ss.str().c_str());
82
83 std::wostringstream ss2;
84 ss2 << unit->getStats()->health;
85 _lstStats->addRow(2, tr("STR_HEALTH").c_str(), ss2.str().c_str());
86
87 std::wostringstream ss3;
88 ss3 << armor->getFrontArmor();
89 _lstStats->addRow(2, tr("STR_FRONT_ARMOR").c_str(), ss3.str().c_str());
90
91 std::wostringstream ss4;
92 ss4 << armor->getSideArmor();
93 _lstStats->addRow(2, tr("STR_LEFT_ARMOR").c_str(), ss4.str().c_str());
94
95 std::wostringstream ss5;
96 ss5 << armor->getSideArmor();
97 _lstStats->addRow(2, tr("STR_RIGHT_ARMOR").c_str(), ss5.str().c_str());

Callers

nothing calls this directly

Calls 15

setColumnsMethod · 0.80
setDotMethod · 0.80
addRowMethod · 0.80
getFrontArmorMethod · 0.80
getSideArmorMethod · 0.80
getRearArmorMethod · 0.80
getUnderArmorMethod · 0.80
getCompatibleAmmoMethod · 0.80
getPowerMethod · 0.80
getClipSizeMethod · 0.80
getUnitMethod · 0.45
getRulesetMethod · 0.45

Tested by

no test coverage detected