| 313 | } |
| 314 | |
| 315 | void Scene_Settings::UpdateMain() { |
| 316 | |
| 317 | if (Input::IsTriggered(Input::DECISION)) { |
| 318 | auto idx = main_window->GetIndex(); |
| 319 | |
| 320 | if (main_window->IsItemEnabled(idx)) { |
| 321 | Main_Data::game_system->SePlay(Main_Data::game_system->GetSystemSE(Game_System::SFX_Decision)); |
| 322 | } else { |
| 323 | Main_Data::game_system->SePlay(Main_Data::game_system->GetSystemSE(Game_System::SFX_Buzzer)); |
| 324 | return; |
| 325 | } |
| 326 | |
| 327 | auto mode = root_options[idx].first; |
| 328 | |
| 329 | if (mode == Window_Settings::eLanguage) { |
| 330 | Scene::Push(std::make_shared<Scene_Language>()); |
| 331 | return; |
| 332 | } if (mode == Window_Settings::eSave) { |
| 333 | SaveConfig(); |
| 334 | return; |
| 335 | } else if (mode == Window_Settings::eEnd) { |
| 336 | if (Scene::Find(Scene::GameBrowser)) { |
| 337 | Scene::Push(std::make_unique<Scene_End>(Scene::GameBrowser)); |
| 338 | } else { |
| 339 | Scene::Push(std::make_unique<Scene_End>(Scene::Null)); |
| 340 | } |
| 341 | return; |
| 342 | } |
| 343 | |
| 344 | SetMode(mode); |
| 345 | options_window->Push(mode); |
| 346 | } |
| 347 | } |
| 348 | |
| 349 | void Scene_Settings::UpdateOptions() { |
| 350 | if (number_window) { |
nothing calls this directly
no test coverage detected