/* Display the game menu */ int btnMenu(struct pgEvent *evt) { switch (pgMenuFromString("New Game...|Restart Level...|Show Solution|About...")) { case 1: menuNewGame(); break; case 2: menuRestartLevel(); break; case 3: menuShowSolution(); break; case 4: menuAbout(); break; } }
void MainMenu::CursorEvent( OguiButtonEvent* eve ) { if( abortGame ) { MenuBaseImpl::CursorEvent( eve ); if( eve->eventType == OGUI_EMASK_CLICK ) { switch( eve->triggerButton->GetId() ) { case COMMANDS_YES: menuCollection->newMission(); break; case COMMANDS_NO: closeAbortMenu(); break; } } } else { MenuBaseImpl::CursorEvent( eve ); if( eve->eventType == OGUI_EMASK_CLICK ) { if( currentActive && eve->triggerButton->GetId() != COMMANDS_CONTINUE ) { currentActive->SetFont( fonts->medium.normal ); if( currentActive == eve->triggerButton ) { menuCollection->closeMenu(); return; } else { menuCollection->closeMenu(); } } currentActive = eve->triggerButton; if( currentActive ) currentActive->SetFont( fonts->medium.highlighted ); switch( eve->triggerButton->GetId() ) { case COMMANDS_RESUME: menuResume(); break; case COMMANDS_CONTINUE: menuContinue(); break; case COMMANDS_NEW_GAME: menuNewGame(); break; case COMMANDS_LOAD_GAME: menuLoadGame(); break; #ifdef PROJECT_SURVIVOR case COMMANDS_SURVIVAL: menuSurvival(); break; case COMMANDS_COOP: menuCoop(); break; #endif case COMMANDS_PROFILES: menuProfiles(); break; case COMMANDS_OPTIONS: menuOptions(); break; case COMMANDS_CREDITS: menuCredits(); break; case COMMANDS_QUIT: menuQuit(); break; case COMMANDS_EASY: case COMMANDS_NORMAL: case COMMANDS_HARD: selectDifficultButton( eve->triggerButton->GetId() ); break; default: // This should not happen assert( false ); break; }; } } }