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

Method btnOkClick

src/Menu/NewGameState.cpp:133–165  ·  view source on GitHub ↗

* Returns to the previous screen. * @param action Pointer to an action. */

Source from the content-addressed store, hash-verified

131 * @param action Pointer to an action.
132 */
133void NewGameState::btnOkClick(Action *)
134{
135 GameDifficulty diff;
136 if (_difficulty == _btnBeginner)
137 {
138 diff = DIFF_BEGINNER;
139 }
140 else if (_difficulty == _btnExperienced)
141 {
142 diff = DIFF_EXPERIENCED;
143 }
144 else if (_difficulty == _btnVeteran)
145 {
146 diff = DIFF_VETERAN;
147 }
148 else if (_difficulty == _btnGenius)
149 {
150 diff = DIFF_GENIUS;
151 }
152 else if (_difficulty == _btnSuperhuman)
153 {
154 diff = DIFF_SUPERHUMAN;
155 }
156 SavedGame *save = _game->getRuleset()->newSave();
157 save->setDifficulty(diff);
158 save->setIronman(_btnIronman->getPressed());
159 _game->setSavedGame(save);
160
161 GeoscapeState *gs = new GeoscapeState(_game);
162 _game->setState(gs);
163 gs->init();
164 _game->pushState(new BuildNewBaseState(_game, _game->getSavedGame()->getBases()->back(), gs->getGlobe(), true));
165}
166
167/**
168 * Returns to the previous screen.

Callers 1

btnYesClickMethod · 0.45

Calls 12

newSaveMethod · 0.80
setDifficultyMethod · 0.80
setIronmanMethod · 0.80
getPressedMethod · 0.80
setSavedGameMethod · 0.80
setStateMethod · 0.80
pushStateMethod · 0.80
getBasesMethod · 0.80
getSavedGameMethod · 0.80
getGlobeMethod · 0.80
getRulesetMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected