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

Method SoldiersState

src/Basescape/SoldiersState.cpp:46–124  ·  view source on GitHub ↗

* Initializes all the elements in the Soldiers screen. * @param game Pointer to the core game. * @param base Pointer to the base to get info from. */

Source from the content-addressed store, hash-verified

44 * @param base Pointer to the base to get info from.
45 */
46SoldiersState::SoldiersState(Game *game, Base *base) : State(game), _base(base)
47{
48 bool isPsiBtnVisible = Options::anytimePsiTraining && _base->getAvailablePsiLabs() > 0;
49
50 // Create objects
51 _window = new Window(this, 320, 200, 0, 0);
52 if (isPsiBtnVisible)
53 {
54 _btnOk = new TextButton(96, 16, 216, 176);
55 _btnPsiTraining = new TextButton(96, 16, 112, 176);
56 _btnMemorial = new TextButton(96, 16, 8, 176);
57 }
58 else
59 {
60 _btnOk = new TextButton(148, 16, 164, 176);
61 _btnPsiTraining = new TextButton(148, 16, 164, 176);
62 _btnMemorial = new TextButton(148, 16, 8, 176);
63 }
64 _txtTitle = new Text(310, 17, 5, 8);
65 _txtName = new Text(114, 9, 16, 32);
66 _txtRank = new Text(102, 9, 130, 32);
67 _txtCraft = new Text(82, 9, 222, 32);
68 _lstSoldiers = new TextList(288, 128, 8, 40);
69
70 // Set palette
71 setPalette("PAL_BASESCAPE", 2);
72
73 add(_window);
74 add(_btnOk);
75 add(_btnPsiTraining);
76 add(_btnMemorial);
77 add(_txtTitle);
78 add(_txtName);
79 add(_txtRank);
80 add(_txtCraft);
81 add(_lstSoldiers);
82
83 centerAllSurfaces();
84
85 // Set up objects
86 _window->setColor(Palette::blockOffset(15)+1);
87 _window->setBackground(_game->getResourcePack()->getSurface("BACK02.SCR"));
88
89 _btnOk->setColor(Palette::blockOffset(13)+10);
90 _btnOk->setText(tr("STR_OK"));
91 _btnOk->onMouseClick((ActionHandler)&SoldiersState::btnOkClick);
92 _btnOk->onKeyboardPress((ActionHandler)&SoldiersState::btnOkClick, Options::keyCancel);
93
94 _btnPsiTraining->setColor(Palette::blockOffset(13)+10);
95 _btnPsiTraining->setText(tr("STR_PSIONIC_TRAINING"));
96 _btnPsiTraining->onMouseClick((ActionHandler)&SoldiersState::btnPsiTrainingClick);
97 _btnPsiTraining->setVisible(isPsiBtnVisible);
98
99 _btnMemorial->setColor(Palette::blockOffset(13)+10);
100 _btnMemorial->setText(tr("STR_MEMORIAL"));
101 _btnMemorial->onMouseClick((ActionHandler)&SoldiersState::btnMemorialClick);
102
103 _txtTitle->setColor(Palette::blockOffset(13)+10);

Callers

nothing calls this directly

Calls 15

getAvailablePsiLabsMethod · 0.80
onMouseClickMethod · 0.80
onKeyboardPressMethod · 0.80
setColumnsMethod · 0.80
setMarginMethod · 0.80
setColorMethod · 0.45
setBackgroundMethod · 0.45
getSurfaceMethod · 0.45
getResourcePackMethod · 0.45
setTextMethod · 0.45
setVisibleMethod · 0.45
setBigMethod · 0.45

Tested by

no test coverage detected