本文整理汇总了C++中BaseModHybridButton::GetCommand方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseModHybridButton::GetCommand方法的具体用法?C++ BaseModHybridButton::GetCommand怎么用?C++ BaseModHybridButton::GetCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseModHybridButton
的用法示例。
在下文中一共展示了BaseModHybridButton::GetCommand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnCommand
//.........这里部分代码省略.........
if ( StringHasPrefix( szGameMode, "team" ) )
{
pSettings->SetString( "system/netflag", "teamlobby" );
}
// else if ( !Q_stricmp( "custommatch", m_pDataSettings->GetString( "options/action", "" ) ) )
// {
// pSettings->SetString( "system/access", "public" );
// }
// TCR: We need to respect the default difficulty
pSettings->SetString( "game/difficulty", GameModeGetDefaultDifficulty( szGameMode ) );
CBaseModPanel::GetSingleton().PlayUISound( UISOUND_ACCEPT );
CBaseModPanel::GetSingleton().CloseAllWindows();
CBaseModPanel::GetSingleton().OpenWindow( WT_GAMESETTINGS, NULL, true, pSettings );
}
else
{
const char *pchCommand = command;
if ( !Q_strcmp(command, "FlmOptionsFlyout") )
{
#ifdef _X360
if ( XBX_GetPrimaryUserIsGuest() )
{
pchCommand = "FlmOptionsGuestFlyout";
}
#endif
}
else if ( !Q_strcmp(command, "FlmVersusFlyout") )
{
command = "VersusSoftLock";
}
else if ( !Q_strcmp( command, "FlmSurvivalFlyout" ) )
{
command = "SurvivalCheck";
}
else if ( !Q_strcmp( command, "FlmScavengeFlyout" ) )
{
command = "ScavengeCheck";
}
else if ( StringHasPrefix( command, "FlmExtrasFlyout_" ) )
{
command = "FlmExtrasFlyoutCheck";
}
// does this command match a flyout menu?
BaseModUI::FlyoutMenu *flyout = dynamic_cast< FlyoutMenu* >( FindChildByName( pchCommand ) );
if ( flyout )
{
bOpeningFlyout = true;
// If so, enumerate the buttons on the menu and find the button that issues this command.
// (No other way to determine which button got pressed; no notion of "current" button on PC.)
for ( int iChild = 0; iChild < GetChildCount(); iChild++ )
{
bool bFound = false;
GameModes *pGameModes = dynamic_cast< GameModes *>( GetChild( iChild ) );
if ( pGameModes )
{
for ( int iGameMode = 0; iGameMode < pGameModes->GetNumGameInfos(); iGameMode++ )
{
BaseModHybridButton *pHybrid = pGameModes->GetHybridButton( iGameMode );
if ( pHybrid && pHybrid->GetCommand() && !Q_strcmp( pHybrid->GetCommand()->GetString( "command"), command ) )
{
pHybrid->NavigateFrom();
// open the menu next to the button that got clicked
flyout->OpenMenu( pHybrid );
flyout->SetListener( this );
bFound = true;
break;
}
}
}
if ( !bFound )
{
BaseModHybridButton *hybrid = dynamic_cast<BaseModHybridButton *>( GetChild( iChild ) );
if ( hybrid && hybrid->GetCommand() && !Q_strcmp( hybrid->GetCommand()->GetString( "command"), command ) )
{
hybrid->NavigateFrom();
// open the menu next to the button that got clicked
flyout->OpenMenu( hybrid );
flyout->SetListener( this );
break;
}
}
}
}
else
{
BaseClass::OnCommand( command );
}
}
if( !bOpeningFlyout )
{
FlyoutMenu::CloseActiveMenu(); //due to unpredictability of mouse navigation over keyboard, we should just close any flyouts that may still be open anywhere.
}
}
示例2: OnCommand
//.........这里部分代码省略.........
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow(WT_GAMEPLAYSETTINGS, this, true );
}
else if ( !Q_strcmp( command, "StatsAndAchievements" ) )
{
if ( CheckAndDisplayErrorIfNotLoggedIn() )
return;
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow( WT_ACHIEVEMENTS, this, true );
}
else if (!Q_strcmp(command, "Controller"))
{
CBaseModPanel::GetSingleton().OpenWindow(WT_CONTROLLER, this, true );
}
else if (!Q_strcmp(command, "Audio"))
{
// audio options dialog, PC only
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow(WT_AUDIO, this, true );
}
else if (!Q_strcmp(command, "Video"))
{
// video options dialog, PC only
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow(WT_VIDEO, this, true );
}
else if (!Q_strcmp(command, "Brightness"))
{
// brightness options dialog, PC only
OpenGammaDialog( GetVParent() );
}
else if (!Q_strcmp(command, "KeyboardMouse"))
{
// standalone keyboard/mouse dialog, PC only
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow(WT_KEYBOARDMOUSE, this, true );
}
else if( Q_stricmp( "#L4D360UI_Controller_Edit_Keys_Buttons", command ) == 0 )
{
FlyoutMenu::CloseActiveMenu();
CBaseModPanel::GetSingleton().OpenKeyBindingsDialog( this );
}
else if ( !Q_strcmp( command, "EnableSplitscreen" ) || !Q_strcmp( command, "DisableSplitscreen" ) )
{
GenericConfirmation* confirmation =
static_cast< GenericConfirmation* >( CBaseModPanel::GetSingleton().OpenWindow( WT_GENERICCONFIRMATION, this, true ) );
GenericConfirmation::Data_t data;
data.pWindowTitle = "#L4D360UI_LeaveMultiplayerConf";
data.pMessageText = "#L4D360UI_MainMenu_SplitscreenChangeConfMsg";
data.bOkButtonEnabled = true;
data.pfnOkCallback = &LeaveGameOkCallback;
data.bCancelButtonEnabled = true;
confirmation->SetUsageData(data);
}
else if( !Q_strcmp( command, "ExitToMainMenu" ) )
{
GenericConfirmation* confirmation =
static_cast< GenericConfirmation* >( CBaseModPanel::GetSingleton().OpenWindow( WT_GENERICCONFIRMATION, this, true ) );
GenericConfirmation::Data_t data;
data.pWindowTitle = "#L4D360UI_LeaveMultiplayerConf";
data.pMessageText = "#L4D360UI_LeaveMultiplayerConfMsg";
data.bOkButtonEnabled = true;
data.pfnOkCallback = &LeaveGameOkCallback;
data.bCancelButtonEnabled = true;
confirmation->SetUsageData(data);
}
else
{
const char *pchCommand = command;
// does this command match a flyout menu?
BaseModUI::FlyoutMenu *flyout = dynamic_cast< FlyoutMenu* >( FindChildByName( pchCommand ) );
if ( flyout )
{
// If so, enumerate the buttons on the menu and find the button that issues this command.
// (No other way to determine which button got pressed; no notion of "current" button on PC.)
for ( int iChild = 0; iChild < GetChildCount(); iChild++ )
{
BaseModHybridButton *hybrid = dynamic_cast<BaseModHybridButton *>( GetChild( iChild ) );
if ( hybrid && hybrid->GetCommand() && !Q_strcmp( hybrid->GetCommand()->GetString( "command"), command ) )
{
#ifdef _X360
hybrid->NavigateFrom( );
#endif //_X360
// open the menu next to the button that got clicked
flyout->OpenMenu( hybrid );
break;
}
}
}
}
SetGameUIActiveSplitScreenPlayerSlot( iOldSlot );
}