| 2428 | } |
| 2429 | |
| 2430 | void Menu::ProcessEventsWhileNonactive( const SystemEvents& events ) |
| 2431 | { |
| 2432 | if( IsActive() ) |
| 2433 | return; |
| 2434 | |
| 2435 | PC_ASSERT( current_menu_ == nullptr ); |
| 2436 | |
| 2437 | for( const SystemEvent& event : events ) |
| 2438 | { |
| 2439 | if( event.type != SystemEvent::Type::Key ) |
| 2440 | continue; |
| 2441 | if( !event.event.key.pressed ) |
| 2442 | continue; |
| 2443 | |
| 2444 | MenuBase* const previous_menu= current_menu_; |
| 2445 | |
| 2446 | switch( event.event.key.key_code ) |
| 2447 | { |
| 2448 | case KeyCode::F2: |
| 2449 | current_menu_= root_menu_->OpenSaveMenu(); |
| 2450 | root_menu_->PlayMenuSound( Sound::SoundId::MenuSelect ); |
| 2451 | break; |
| 2452 | |
| 2453 | case KeyCode::F3: |
| 2454 | current_menu_= root_menu_->OpenLoadMenu(); |
| 2455 | root_menu_->PlayMenuSound( Sound::SoundId::MenuSelect ); |
| 2456 | break; |
| 2457 | |
| 2458 | case KeyCode::F4: |
| 2459 | current_menu_= root_menu_->OpenOptionsMenu(); |
| 2460 | root_menu_->PlayMenuSound( Sound::SoundId::MenuSelect ); |
| 2461 | break; |
| 2462 | |
| 2463 | case KeyCode::F5: |
| 2464 | current_menu_= root_menu_->OpenNetworkMenu(); |
| 2465 | root_menu_->PlayMenuSound( Sound::SoundId::MenuSelect ); |
| 2466 | break; |
| 2467 | |
| 2468 | case KeyCode::F6: |
| 2469 | host_commands_.SaveGame(0u); |
| 2470 | break; |
| 2471 | |
| 2472 | case KeyCode::F9: |
| 2473 | host_commands_.LoadGame(0u); |
| 2474 | break; |
| 2475 | |
| 2476 | case KeyCode::F10: |
| 2477 | current_menu_= root_menu_->OpenQuitMenu(); |
| 2478 | root_menu_->PlayMenuSound( Sound::SoundId::MenuSelect ); |
| 2479 | break; |
| 2480 | |
| 2481 | case KeyCode::F12: |
| 2482 | // TODO - take screenshot |
| 2483 | break; |
| 2484 | |
| 2485 | default: |
| 2486 | break; |
| 2487 | }; |
no test coverage detected