//============================================================================= void MainMenu::OnThink() { // need to change state of flyout if user suddenly disconnects // while flyout is open BaseModUI::FlyoutMenu *flyout = dynamic_cast< FlyoutMenu* >( FindChildByName( "FlmCampaignFlyout" ) ); if ( flyout ) { BaseModHybridButton *pButton = dynamic_cast< BaseModHybridButton* >( flyout->FindChildButtonByCommand( "QuickMatchCoOp" ) ); if ( pButton ) { if ( !CUIGameData::Get()->SignedInToLive() ) { pButton->SetText( "#L4D360UI_QuickStart" ); if ( m_iQuickJoinHelpText != MMQJHT_QUICKSTART ) { pButton->SetHelpText( "#L4D360UI_QuickMatch_Offline_Tip" ); m_iQuickJoinHelpText = MMQJHT_QUICKSTART; } } else { pButton->SetText( "#L4D360UI_QuickMatch" ); if ( m_iQuickJoinHelpText != MMQJHT_QUICKMATCH ) { pButton->SetHelpText( "#L4D360UI_QuickMatch_Tip" ); m_iQuickJoinHelpText = MMQJHT_QUICKMATCH; } } } } if ( IsPC() ) { FlyoutMenu *pFlyout = dynamic_cast< FlyoutMenu* >( FindChildByName( "FlmOptionsFlyout" ) ); if ( pFlyout ) { const MaterialSystem_Config_t &config = materials->GetCurrentConfigForVideoCard(); pFlyout->SetControlEnabled( "BtnBrightness", !config.Windowed() ); } } BaseClass::OnThink(); }
void InGameMainMenu::OnThink() { int iSlot = GetGameUIActiveSplitScreenPlayerSlot(); GAMEUI_ACTIVE_SPLITSCREEN_PLAYER_GUARD( iSlot ); { BaseModHybridButton *button = dynamic_cast< BaseModHybridButton* >( FindChildByName( "BtnOptions" ) ); if ( button ) { BaseModUI::FlyoutMenu *flyout = dynamic_cast< FlyoutMenu* >( FindChildByName( "FlmOptionsFlyout" ) ); if ( flyout ) { #ifdef _X360 bool bIsSplitscreen = ( XBX_GetNumGameUsers() > 1 ); #else bool bIsSplitscreen = false; #endif Button *pButton = flyout->FindChildButtonByCommand( "EnableSplitscreen" ); if ( pButton ) { pButton->SetVisible( !bIsSplitscreen ); } pButton = flyout->FindChildButtonByCommand( "DisableSplitscreen" ); if ( pButton ) { pButton->SetVisible( bIsSplitscreen ); } } } } if ( IsPC() ) { FlyoutMenu *pFlyout = dynamic_cast< FlyoutMenu* >( FindChildByName( "FlmOptionsFlyout" ) ); if ( pFlyout ) { const MaterialSystem_Config_t &config = materials->GetCurrentConfigForVideoCard(); pFlyout->SetControlEnabled( "BtnBrightness", !config.Windowed() ); } } BaseClass::OnThink(); if ( IsVisible() ) { // Yield to generic wait screen or message box if one of those is present WINDOW_TYPE arrYield[] = { WT_GENERICWAITSCREEN, WT_GENERICCONFIRMATION }; for ( int j = 0; j < ARRAYSIZE( arrYield ); ++ j ) { CBaseModFrame *pYield = CBaseModPanel::GetSingleton().GetWindow( arrYield[j] ); if ( pYield && pYield->IsVisible() && !pYield->HasFocus() ) { pYield->Activate(); pYield->RequestFocus(); } } } }