// *** AdvanceMenus void UserInput::AdvanceMenus() { // if ( g_keyDeltas[KEY_F1] ) // DebugKeyBindings::DebugMenu(); InputManager *im = g_inputManager; int mouseX = g_target->X(); int mouseY = g_target->Y(); bool lmb = im->controlEvent( ControlEclipseLMousePressed ); bool rmb = im->controlEvent( ControlEclipseRMousePressed ); EclUpdateMouse( mouseX, mouseY, lmb, rmb ); EclUpdate(); if ( im->controlEvent( ControlEclipseLMouseDown ) ) { EclWindow *winUnderMouse = EclGetWindow( mouseX, mouseY ); if (winUnderMouse) { im->suppressEvent( ControlEclipseLMouseDown ); } } }
void Interface::Update() { START_PROFILE( "EclUpdate" ); EclUpdate(); END_PROFILE( "EclUpdate" ); // // Screenshot? if( g_keyDeltas[KEY_P] && !UsingChatWindow() && g_app->m_gameRunning ) { g_renderer->SaveScreenshot(); if( g_app->GetWorld()->AmISpectating() ) { int teamId = g_app->GetClientToServer()->m_clientId; g_app->GetClientToServer()->SendChatMessageReliably( teamId, 100, LANGUAGEPHRASE("dialog_saved_screenshot"), true ); } else { int teamId = g_app->GetWorld()->m_myTeamId; g_app->GetClientToServer()->SendChatMessageReliably( teamId, 100, LANGUAGEPHRASE("dialog_saved_screenshot"), false ); } } // // Pop up main menu? if( m_escTimer > 0.0f ) { m_escTimer -= g_advanceTime; } if (QuitKeyPressed()) ConfirmExit( NULL ); if (QuitImmediatelyKeyPressed() || g_inputManager->m_quitRequested) { g_inputManager->m_quitRequested = false; AttemptQuitImmediately(); } if (ToggleFullscreenKeyPressed() || s_toggleFullscreen) { g_preferences->SetInt( PREFS_SCREEN_WINDOWED, !g_preferences->GetInt( PREFS_SCREEN_WINDOWED )); g_app->ReinitialiseWindow(); s_toggleFullscreen = false; } if( g_keyDeltas[KEY_ESC] ) { // // panic key (double esc) bool panicKeyEnabled = g_preferences->GetInt(PREFS_INTERFACE_PANICKEY); bool officeMode = (g_app->GetGame()->GetOptionValue("GameMode") == GAMEMODE_OFFICEMODE); if( officeMode ) panicKeyEnabled = true; if( panicKeyEnabled && m_escTimer > 0.0f ) { g_app->HideWindow(); m_escTimer = 0.0f; g_keys[KEY_ESC] = 0; g_keyDeltas[KEY_ESC] = 0; } if( !EclGetWindow( "Main Menu" ) ) { EclRegisterWindow( new MainMenu() ); } else { EclRemoveWindow( "Main Menu" ); } m_escTimer = 0.5f; } if( !g_app->m_gameRunning && EclGetWindows()->Size() == 0 ) { EclRegisterWindow( new MainMenu() ); } }