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

Method ArticleStateItem

src/Ufopaedia/ArticleStateItem.cpp:40–256  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38{
39
40 ArticleStateItem::ArticleStateItem(Game *game, ArticleDefinitionItem *defs) : ArticleState(game, defs->id)
41 {
42 RuleItem *item = _game->getRuleset()->getItem(defs->id);
43
44 // add screen elements
45 _txtTitle = new Text(148, 32, 5, 24);
46
47 // Set palette
48 setPalette("PAL_BATTLEPEDIA");
49
50 ArticleState::initLayout();
51
52 // add other elements
53 add(_txtTitle);
54
55 // Set up objects
56 _game->getResourcePack()->getSurface("BACK08.SCR")->blit(_bg);
57 _btnOk->setColor(Palette::blockOffset(9));
58 _btnPrev->setColor(Palette::blockOffset(9));
59 _btnNext->setColor(Palette::blockOffset(9));
60
61 _txtTitle->setColor(Palette::blockOffset(14)+15);
62 _txtTitle->setBig();
63 _txtTitle->setWordWrap(true);
64 _txtTitle->setText(tr(defs->title));
65
66 // IMAGE
67 _image = new Surface(32, 48, 157, 5);
68 add(_image);
69
70 item->drawHandSprite(_game->getResourcePack()->getSurfaceSet("BIGOBS.PCK"), _image);
71
72 std::vector<std::string> *ammo_data = item->getCompatibleAmmo();
73
74 // SHOT STATS TABLE (for firearms only)
75 if (item->getBattleType() == BT_FIREARM)
76 {
77 _txtShotType = new Text(100, 17, 8, 66);
78 add(_txtShotType);
79 _txtShotType->setColor(Palette::blockOffset(14)+15);
80 _txtShotType->setWordWrap(true);
81 _txtShotType->setText(tr("STR_SHOT_TYPE"));
82
83 _txtAccuracy = new Text(50, 17, 104, 66);
84 add(_txtAccuracy);
85 _txtAccuracy->setColor(Palette::blockOffset(14)+15);
86 _txtAccuracy->setWordWrap(true);
87 _txtAccuracy->setText(tr("STR_ACCURACY_UC"));
88
89 _txtTuCost = new Text(60, 17, 158, 66);
90 add(_txtTuCost);
91 _txtTuCost->setColor(Palette::blockOffset(14)+15);
92 _txtTuCost->setWordWrap(true);
93 _txtTuCost->setText(tr("STR_TIME_UNIT_COST"));
94
95 _lstInfo = new TextList(204, 55, 8, 82);
96 add(_lstInfo);
97

Callers

nothing calls this directly

Calls 15

drawHandSpriteMethod · 0.80
getSurfaceSetMethod · 0.80
getCompatibleAmmoMethod · 0.80
getBattleTypeMethod · 0.80
setColumnsMethod · 0.80
getTUAutoMethod · 0.80
getFlatRateMethod · 0.80
addRowMethod · 0.80
getAccuracyAutoMethod · 0.80
setCellColorMethod · 0.80
getTUSnapMethod · 0.80
getAccuracySnapMethod · 0.80

Tested by

no test coverage detected