MCPcopy Create free account
hub / github.com/BZFlag-Dev/bzflag / execute

Method execute

src/bzflag/OptionsMenu.cpp:149–206  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

147
148
149void OptionsMenu::execute() {
150 HUDuiControl* _focus = getNav().get();
151 if (_focus == guiOptions) {
152 if (!guiOptionsMenu) { guiOptionsMenu = new GUIOptionsMenu; }
153 HUDDialogStack::get()->push(guiOptionsMenu);
154 }
155 else if (_focus == textOptions) {
156 if (!textOptionsMenu) { textOptionsMenu = new TextOptionsMenu; }
157 HUDDialogStack::get()->push(textOptionsMenu);
158 }
159 else if (_focus == radarOptions) {
160 if (!radarOptionsMenu) { radarOptionsMenu = new RadarOptionsMenu; }
161 HUDDialogStack::get()->push(radarOptionsMenu);
162 }
163 else if (_focus == effectsOptions) {
164 if (!effectsMenu) { effectsMenu = new EffectsMenu; }
165 HUDDialogStack::get()->push(effectsMenu);
166 }
167 else if (_focus == cacheOptions) {
168 if (!cacheMenu) { cacheMenu = new CacheMenu; }
169 HUDDialogStack::get()->push(cacheMenu);
170 }
171 else if (_focus == hubOptions) {
172 if (!hubMenu) { hubMenu = new HubMenu; }
173 HUDDialogStack::get()->push(hubMenu);
174 }
175 else if (_focus == saveWorld) {
176 if (!saveWorldMenu) { saveWorldMenu = new SaveWorldMenu; }
177 HUDDialogStack::get()->push(saveWorldMenu);
178 }
179 else if (_focus == saveSettings) {
180 // save resources
181 dumpResources();
182 if (!saveMenu) { saveMenu = new SaveMenu; }
183 if (alternateConfig == "") {
184 std::string fname = getCurrentConfigFileName();
185 CFGMGR.write(fname);
186 saveMenu->setFileName(fname);
187 }
188 else {
189 CFGMGR.write(alternateConfig);
190 saveMenu->setFileName(alternateConfig);
191 }
192 HUDDialogStack::get()->push(saveMenu);
193 }
194 else if (_focus == inputSetting) {
195 if (!inputMenu) { inputMenu = new InputMenu; }
196 HUDDialogStack::get()->push(inputMenu);
197 }
198 else if (_focus == audioSetting) {
199 if (!audioMenu) { audioMenu = new AudioMenu; }
200 HUDDialogStack::get()->push(audioMenu);
201 }
202 else if (_focus == displaySetting) {
203 if (!displayMenu) { displayMenu = new DisplayMenu; }
204 HUDDialogStack::get()->push(displayMenu);
205 }
206}

Callers

nothing calls this directly

Calls 6

getCurrentConfigFileNameFunction · 0.85
pushMethod · 0.80
setFileNameMethod · 0.80
dumpResourcesFunction · 0.70
getMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected