本文整理汇总了C++中BaseModHybridButton::NavigateFrom方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseModHybridButton::NavigateFrom方法的具体用法?C++ BaseModHybridButton::NavigateFrom怎么用?C++ BaseModHybridButton::NavigateFrom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseModHybridButton
的用法示例。
在下文中一共展示了BaseModHybridButton::NavigateFrom方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnCommand
//=============================================================================
void MainMenu::OnCommand( const char *command )
{
int iUserSlot = CBaseModPanel::GetSingleton().GetLastActiveUserId();
if ( UI_IsDebug() )
{
Msg("[GAMEUI] Handling main menu command %s from user%d ctrlr%d\n",
command, iUserSlot, XBX_GetUserId( iUserSlot ) );
}
bool bOpeningFlyout = false;
if ( char const *szQuickMatch = StringAfterPrefix( command, "QuickMatch_" ) )
{
if ( CheckAndDisplayErrorIfNotLoggedIn() ||
CUIGameData::Get()->CheckAndDisplayErrorIfNotSignedInToLive( this ) )
return;
KeyValues *pSettings = KeyValues::FromString(
"settings",
" system { "
" network LIVE "
" } "
" game { "
" mode = "
" } "
" options { "
" action quickmatch "
" } "
);
KeyValues::AutoDelete autodelete( pSettings );
pSettings->SetString( "game/mode", szQuickMatch );
// TCR: We need to respect the default difficulty
if ( GameModeHasDifficulty( szQuickMatch ) )
pSettings->SetString( "game/difficulty", GameModeGetDefaultDifficulty( szQuickMatch ) );
g_pMatchFramework->MatchSession( pSettings );
}
else if ( char const *szCustomMatch = StringAfterPrefix( command, "CustomMatch_" ) )
{
if ( CheckAndDisplayErrorIfNotLoggedIn() ||
CUIGameData::Get()->CheckAndDisplayErrorIfNotSignedInToLive( this ) )
return;
KeyValues *pSettings = KeyValues::FromString(
"settings",
" system { "
" network LIVE "
" } "
" game { "
" mode = "
" } "
" options { "
" action custommatch "
" } "
);
KeyValues::AutoDelete autodelete( pSettings );
pSettings->SetString( "game/mode", szCustomMatch );
CBaseModPanel::GetSingleton().OpenWindow(
ui_play_online_browser.GetBool() ? WT_FOUNDPUBLICGAMES : WT_GAMESETTINGS,
this, true, pSettings );
}
else if ( char const *szFriendsMatch = StringAfterPrefix( command, "FriendsMatch_" ) )
{
if ( CheckAndDisplayErrorIfNotLoggedIn() )
return;
if ( StringHasPrefix( szFriendsMatch, "team" ) &&
CUIGameData::Get()->CheckAndDisplayErrorIfNotSignedInToLive( this ) )
// Team games require to be signed in to LIVE
return;
KeyValues *pSettings = KeyValues::FromString(
"settings",
" game { "
" mode = "
" } "
);
KeyValues::AutoDelete autodelete( pSettings );
pSettings->SetString( "game/mode", szFriendsMatch );
if ( m_ActiveControl )
{
m_ActiveControl->NavigateFrom( );
}
CBaseModPanel::GetSingleton().OpenWindow( WT_ALLGAMESEARCHRESULTS, this, true, pSettings );
}
else if ( char const *szGroupServer = StringAfterPrefix( command, "GroupServer_" ) )
{
if ( CheckAndDisplayErrorIfNotLoggedIn() )
return;
KeyValues *pSettings = KeyValues::FromString(
"settings",
//.........这里部分代码省略.........
示例2: OnCommand
//=============================================================================
void InGameMainMenu::OnCommand( const char *command )
{
int iUserSlot = CBaseModPanel::GetSingleton().GetLastActiveUserId();
if ( UI_IsDebug() )
{
Msg("[GAMEUI] Handling ingame menu command %s from user%d ctrlr%d\n",
command, iUserSlot, XBX_GetUserId( iUserSlot ) );
}
int iOldSlot = GetGameUIActiveSplitScreenPlayerSlot();
SetGameUIActiveSplitScreenPlayerSlot( iUserSlot );
GAMEUI_ACTIVE_SPLITSCREEN_PLAYER_GUARD( iUserSlot );
if ( !Q_strcmp( command, "ReturnToGame" ) )
{
engine->ClientCmd("gameui_hide");
}
// --
// SINGLEPLAYER
else if ( !Q_strcmp( command, "StartNewGame" ) )
{
#ifdef UI_USING_OLDDIALOGS
CBaseModPanel::GetSingleton().OpenOptionsDialog( this );
#else
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow( WT_NEWGAME, this, true );
#endif
}
else if ( !Q_strcmp( command, "SaveGame" ) )
{
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow( WT_SAVEGAME, this, true );
}
else if ( !Q_strcmp( command, "LoadGame" ) )
{
m_ActiveControl->NavigateFrom( );
CBaseModPanel::GetSingleton().OpenWindow( WT_LOADGAME, this, true );
}
else if (!Q_strcmp(command, "Gameplay"))
{
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;
//.........这里部分代码省略.........