diff options
Diffstat (limited to 'bobthebob.testing/scripts/vscripts/ui/menu_team_titan_select.nut')
-rw-r--r-- | bobthebob.testing/scripts/vscripts/ui/menu_team_titan_select.nut | 722 |
1 files changed, 722 insertions, 0 deletions
diff --git a/bobthebob.testing/scripts/vscripts/ui/menu_team_titan_select.nut b/bobthebob.testing/scripts/vscripts/ui/menu_team_titan_select.nut new file mode 100644 index 000000000..92bb849eb --- /dev/null +++ b/bobthebob.testing/scripts/vscripts/ui/menu_team_titan_select.nut @@ -0,0 +1,722 @@ +global function InitTeamTitanSelectMenu +global function TeamTitanSelectMenuIsOpen +global function ServerCallback_OpenTeamTitanMenu +global function ServerCallback_CloseTeamTitanMenu +global function ServerCallback_UpdateTeamTitanMenuTime +global function ServerCallback_RegisterTeamTitanMenuButtons +global function TTSUpdateDoubleXP +global function TTSUpdateDoubleXPStatus +global function TTSMenuModeFD +global function TTSMenuModeDefault +global function TTSMenu_UpdateGameMode +global function EnableDoubleXP + +const float SELECT_DELAY = 0.2 + +enum eTTSMenuMode +{ + DEFAULT, + FD +} + +struct +{ + var menu + bool allowManualClose = false + bool isReady = false + bool menuOpened = false + bool allowSelection = false + + array<var> titanButtons + array<var> titanUpgradeButtons + var editButton + var readyPanel + var cover + var doubleXPButton + var chatBox + + bool buttonsRegistered = false + + int menuMode + + float nextAllowSoundTime = 0.0 +} file + +void function InitTeamTitanSelectMenu() +{ + file.menu = GetMenu( "TeamTitanSelectMenu" ) + + AddMenuEventHandler( file.menu, eUIEvent.MENU_NAVIGATE_BACK, OnTeamTitanSelectMenu_NavigateBack ) + AddMenuEventHandler( file.menu, eUIEvent.MENU_OPEN, OnTeamTitanSelectMenu_Open ) + AddMenuEventHandler( file.menu, eUIEvent.MENU_SHOW, OnTeamTitanSelectMenu_Open ) + AddMenuEventHandler( file.menu, eUIEvent.MENU_HIDE, OnTeamTitanSelectMenu_Hide ) + AddMenuEventHandler( file.menu, eUIEvent.MENU_CLOSE, OnTeamTitanSelectMenu_Close ) + + RegisterSignal( "TTSMenuClosed" ) + RegisterSignal( "Delayed_RequestTitanLoadout" ) + + float margin = 10.0 + float totalWidth = 0.0 + for ( int i=0; i<NUM_PERSISTENT_TITAN_LOADOUTS; i++ ) + { + var button = Hud_GetChild( file.menu, "TitanButton" + i ) + file.titanButtons.append( button ) + float xPos = totalWidth * -1 + totalWidth += Hud_GetWidth( button ) + margin + Hud_SetPos( button, xPos, Hud_GetY( button ) ) + } + + var bg = Hud_GetChild( file.menu, "BG" ) + totalWidth -= margin + float bgWidth = float( Hud_GetWidth( bg ) ) + float startPos = (bgWidth*0.5 - totalWidth*0.5) * -1 + for ( int i=0; i<NUM_PERSISTENT_TITAN_LOADOUTS; i++ ) + { + var button = file.titanButtons[i] + Hud_SetPos( button, startPos + Hud_GetX( button ), Hud_GetY( button ) ) + + Hud_AddEventHandler( button, UIE_CLICK, TitanButton_OnClick ) + Hud_AddEventHandler( button, UIE_GET_FOCUS, TitanButton_OnFocused ) + } + + for ( int i=0; i<7; i++ ) + { + var button = Hud_GetChild( file.menu, "BtnSub" + i ) + + Hud_AddEventHandler( button, UIE_LOSE_FOCUS, TitanUpgradeButton_OnLoseFocus ) + Hud_AddEventHandler( button, UIE_GET_FOCUS, TitanUpgradeButton_OnFocused ) + } + + SetNavLeftRight( file.titanButtons, true ) + + //file.editButton = Hud_GetChild( file.menu, "EditTitanButton" ) + //Hud_AddEventHandler( file.editButton, UIE_CLICK, EditTitanButton_OnClick ) + file.readyPanel = Hud_GetChild( file.menu, "ReadyRui" ) + file.cover = Hud_GetChild( file.menu, "Cover" ) + + #if PC_PROG + file.chatBox = Hud_GetChild( file.menu, "LobbyChatBox" ) + #endif // PC_PROG + + file.doubleXPButton = Hud_GetChild( file.menu, "DoubleXP" ) + + AddMenuFooterOption( file.menu, BUTTON_A, "#A_BUTTON_SELECT", "", null, TeamTitanSelect_IsNotReady ) + AddMenuFooterOption( file.menu, BUTTON_B, "#B_BUTTON_BACK", "#BACK" ) + AddMenuFooterOption( file.menu, BUTTON_X, "#MENU_X_BUTTON_EDIT_TITAN", "#MENU_EDIT_TITAN", EditTitanButton_OnClick, TeamTitanSelect_IsReady ) + AddMenuFooterOption( file.menu, BUTTON_Y, "#MENU_Y_BUTTON_EDIT_PILOT", "#MENU_EDIT_PILOT", EditPilotButton_OnClick, CoverIsOff ) +} + +void function TTSUpdateDoubleXP( int count, bool avialable, float status ) +{ + var rui = Hud_GetRui( file.doubleXPButton ) + RuiSetInt( rui, "doubleXPCount", count ) + RuiSetBool( rui, "doubleXPAvailable", avialable ) + RuiSetFloat( rui, "doubleXPStatus", status ) +} + +void function TTSUpdateDoubleXPStatus( int status ) +{ + var rui = Hud_GetRui( file.doubleXPButton ) + RuiSetFloat( rui, "doubleXPStatus", float( status ) ) +} + +void function ServerCallback_UpdateTeamTitanMenuTime( float endTime ) +{ + Signal( uiGlobal.signalDummy, "TTSMenuClosed" ) + + file.allowSelection = true + + if ( file.nextAllowSoundTime < Time() ) + { + EmitUISound( "ui_ctf_1p_playerscore" ) + file.nextAllowSoundTime = Time() + 5.0 + } + + Hud_SetEnabled( file.cover, false ) + Hud_Hide( file.cover ) + Hud_SetAlpha( file.cover, 0 ) + + if ( endTime > 5 ) + file.allowSelection = true + + thread UpdateSubText( Time() + endTime ) +} + +void function ServerCallback_OpenTeamTitanMenu( float endTime ) +{ + if ( TeamTitanSelectMenuIsOpen() ) + return + + if ( uiGlobal.activeMenu != null ) + CloseAllMenus() + + RunClientScript( "PlayTTSMusic" ) + + file.allowManualClose = false + file.allowSelection = true + file.isReady = true // set to true so selection mode kicks in + thread MenuFadeIn() + BeginSelectionMode() + AdvanceMenu( file.menu ) + thread UpdateSubText( Time() + endTime ) +} + +void function MenuFadeIn() +{ + Hud_SetEnabled( file.cover, true ) + Hud_SetAlpha( file.cover, 255 ) + Hud_Show( file.cover ) + wait 1.0 + Hud_FadeOverTime( file.cover, 0, 1.0 ) + wait 1.0 + Hud_Hide( file.cover ) + Hud_SetEnabled( file.cover, false ) +} + +void function UpdateSubText( float endTime ) +{ + EndSignal( uiGlobal.signalDummy, "TTSMenuClosed" ) + + var subText = Hud_GetChild( file.menu, "MenuSubTitle" ) + var rui = Hud_GetRui( file.readyPanel ) + RuiSetBool( rui, "isReady", true ) + + thread Countdown( endTime ) + while ( Time() < endTime ) + { + int countdownTime = int( ceil( endTime - Time() ) ) + Hud_SetText( subText, Localize( "#MENU_STARTS_IN", countdownTime ) ) + RuiSetInt( rui, "timer", countdownTime ) + WaitFrame() + } + + Hud_SetText( subText, Localize( "#MENU_STARTS_IN", 0 ) ) + RuiSetInt( rui, "timer", 0 ) +} + +void function Countdown( float endTime ) +{ + EndSignal( uiGlobal.signalDummy, "TTSMenuClosed" ) + + float countdownTime = 5.0 + float startCountdownTime = endTime - countdownTime + + if ( Time() > startCountdownTime ) + return + + wait startCountdownTime - Time() + + while ( Time() < endTime ) + { + EmitUISound( "UI_InGame_MarkedForDeath_CountdownToMarked" ) + wait 1.0 + } + + file.allowSelection = false + BeginEditMode(null) + + Hud_SetAlpha( file.cover, 0 ) + Hud_SetEnabled( file.cover, true ) + Hud_Show( file.cover ) + Hud_FadeOverTime( file.cover, 255, 1.0 ) + + float soundTime = DoPrematchWarpSound() ? PICK_LOADOUT_SOUND_TIME : 1.5 + wait soundTime + + thread ServerCallback_CloseTeamTitanMenu() +} + +void function ServerCallback_CloseTeamTitanMenu() +{ + if ( TeamTitanSelectMenuIsOpen() ) + { + file.allowManualClose = true + UI_SetPresentationType( ePresentationType.INACTIVE ) + CloseAllMenus() + OnTeamTitanSelectMenu_Close() + } +} + +void function OnTeamTitanSelectMenu_NavigateBack() +{ + if ( file.allowManualClose ) + { + CloseActiveMenu() + return + } + + if ( file.isReady && file.allowSelection ) + { + BeginSelectionMode() + return + } + + LeaveDialog() + return +} + +void function TTSMenu_UpdateGameMode( string modeName ) +{ + var title = Hud_GetChild( file.menu, "MenuTitle" ) + Hud_SetText( title, Localize( modeName ) ) +} + +void function ServerCallback_RegisterTeamTitanMenuButtons() +{ + RegisterButtonCallbacks() +} + +void function RegisterButtonCallbacks() +{ + if ( file.buttonsRegistered ) + return + + file.buttonsRegistered = true + RegisterButtonPressedCallback( BUTTON_BACK, EnableDoubleXP ) + RegisterButtonPressedCallback( KEY_RSHIFT, EnableDoubleXP ) +} + +void function OnTeamTitanSelectMenu_Open() +{ + file.menuOpened = true + + var dataTable = GetDataTable( $"datatable/titan_properties.rpak" ) + int loadoutIconCol = GetDataTableColumnByName( dataTable, "loadoutIconFD" ) + int titanCol = GetDataTableColumnByName( dataTable, "titanRef" ) + + entity player = GetUIPlayer() + + var nextMapImage = Hud_GetChild( file.menu, "NextMapImage" ) + string mapName = GetActiveLevel() + asset mapImage = GetMapImageForMapName( mapName ) + + RefreshCreditsAvailable() + + RuiSetImage( Hud_GetRui( nextMapImage ), "basicImage", mapImage ) + Hud_Show( nextMapImage ) + Hud_SetText( Hud_GetChild( file.menu, "NextMapName" ), GetMapDisplayName( mapName ) ) + Hud_Show( Hud_GetChild( file.menu, "NextMapName" ) ) + + var buttonToFocus + + for ( int i=0; i<NUM_PERSISTENT_TITAN_LOADOUTS; i++ ) + { + var button = file.titanButtons[i] + TitanLoadoutDef loadout = GetCachedTitanLoadout( i ) + int row = GetDataTableRowMatchingStringValue( dataTable, titanCol, loadout.titanClass ) + + asset icon = GetDataTableAsset( dataTable, row, loadoutIconCol ) + var rui = Hud_GetRui( button ) + + RuiSetImage( rui, "buttonImage", icon ) + + if ( !IsTitanLoadoutAvailable( player, loadout.titanClass ) ) + { + Hud_SetLocked( button, true ) + if ( !IsItemLocked( player, loadout.titanClass ) ) + RefreshButtonCost( button, loadout.titanClass, "", 0, 0 ) + } + else + { + Hud_SetLocked( button, IsItemLocked( player, loadout.titanClass ) ) + RefreshButtonCost( button, loadout.titanClass ) + + if ( uiGlobal.titanSpawnLoadoutIndex == i ) + { + buttonToFocus = button + } + } + } + + if ( buttonToFocus == null ) + buttonToFocus = FindValidTitanButton() + thread HACK_DelayedSetFocus_BecauseWhy( buttonToFocus ) + + TitanLoadoutDef loadout = GetCachedTitanLoadout( uiGlobal.titanSpawnLoadoutIndex ) + + for ( int i=0; i<7; i++ ) + { + var button = Hud_GetChild( file.menu, "BtnSub"+i ) + file.titanUpgradeButtons.append( button ) + + if ( file.menuMode == eTTSMenuMode.FD ) + { + Hud_Show( button ) + } + else + { + Hud_Hide( button ) + } + } + SetNavLeftRight( file.titanUpgradeButtons, true ) + + SetBlurEnabled( false ) + var title = Hud_GetChild( file.menu, "MenuTitle" ) + string name = expect string( GetCurrentPlaylistVar( "name" ) ) + Hud_SetText( title, Localize( name ) ) + RunMenuClientFunction( "ShowTTSPanel" ) + + if ( file.isReady ) + UI_SetPresentationType( ePresentationType.TITAN_CENTER_SELECTED ) + else + UI_SetPresentationType( ePresentationType.TITAN_CENTER ) + + + RunClientScript( "TTS_UpdateLocalPlayerTitan", loadout.setFile, loadout.primary, loadout.passive1, loadout.passive2 ) +} + +void function EnableDoubleXP( var button ) +{ + #if PC_PROG + if ( Hud_IsFocused( file.chatBox ) ) + return + #endif // PC_PROG + + if ( CanRunClientScript() ) + { + EmitUISound( "Menu_Email_Sent" ) + RunClientScript( "UseDoubleXP" ) + } +} + +void function OnTeamTitanSelectMenu_Hide() +{ + RunMenuClientFunction( "HideTTSPanel" ) + + DeregisterButtonCallbacks() +} + +void function DeregisterButtonCallbacks() +{ + if ( !file.buttonsRegistered ) + return + + file.buttonsRegistered = false + + DeregisterButtonPressedCallback( BUTTON_BACK, EnableDoubleXP ) + DeregisterButtonPressedCallback( KEY_RSHIFT, EnableDoubleXP ) +} + +void function OnTeamTitanSelectMenu_Close() +{ + RunMenuClientFunction( "ClearAllPilotPreview" ) + Signal( uiGlobal.signalDummy, "TTSMenuClosed" ) + file.menuOpened = false + UI_SetPresentationType( ePresentationType.INACTIVE ) + + DeregisterButtonCallbacks() +} + +void function TitanButton_OnClick( var button ) +{ + int scriptID = int( Hud_GetScriptID( button ) ) + if ( Hud_IsLocked( button ) ) + { + TitanLoadoutDef loadout = GetCachedTitanLoadout( scriptID ) + if ( !IsTitanLoadoutAvailable( GetUIPlayer(), loadout.titanClass ) ) + return + + OpenBuyItemDialog( file.titanButtons, button, GetItemName( loadout.titanClass ), loadout.titanClass ) + return + } + + if ( file.isReady ) + { + BeginSelectionMode() + return + } + + uiGlobal.titanSpawnLoadoutIndex = scriptID + Signal( uiGlobal.signalDummy, "Delayed_RequestTitanLoadout" ) + ClientCommand( "RequestTitanLoadout " + uiGlobal.titanSpawnLoadoutIndex ) + BeginEditMode( button ) +} + +void function TitanButton_OnFocused( var button ) +{ + int scriptID = int( Hud_GetScriptID( button ) ) + + var rui = Hud_GetRui( Hud_GetChild( file.menu, "TitanName" ) ) + + TitanLoadoutDef loadout = GetCachedTitanLoadout( scriptID ) + + RuiSetString( rui, "titanName", GetTitanLoadoutName( loadout ) ) + RuiSetString( rui, "titanLevelString", "" ) + RuiSetString( rui, "titanRole", "" ) + + entity player = GetUIPlayer() + + var dataTable = GetDataTable( $"datatable/titan_properties.rpak" ) + int row = GetDataTableRowMatchingStringValue( dataTable, GetDataTableColumnByName( dataTable, "titanRef" ), loadout.titanClass ) + string role = GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "fdRole" ) ) + int titanLevel = FD_TitanGetLevelForXP( loadout.titanClass, FD_TitanGetXP( GetUIPlayer(), loadout.titanClass ) ) + array<ItemDisplayData> titanUpgrades = FD_GetUpgradesForTitanClass( loadout.titanClass ) + + if ( file.menuMode == eTTSMenuMode.FD ) + { + RuiSetString( rui, "titanLevelString", Localize( "#FD_TITAN_LEVEL", titanLevel ) ) + RuiSetString( rui, "titanRole", Localize( "#FD_ROLE", Localize(role) ) ) + + foreach ( index, item in titanUpgrades ) + { + var button = file.titanUpgradeButtons[index] + var upgradeRui = Hud_GetRui( button ) + + bool locked = IsSubItemLocked( GetUIPlayer(), item.ref, item.parentRef ) + + if ( locked ) + RuiSetImage( upgradeRui, "buttonImage", expect asset( item.i.lockedImage ) ) + else + RuiSetImage( upgradeRui, "buttonImage", item.image ) + + Hud_SetLocked( button, locked ) + } + } + + if ( !Hud_IsLocked( button ) ) + { + uiGlobal.titanSpawnLoadoutIndex = scriptID + thread Delayed_RequestTitanLoadout( uiGlobal.titanSpawnLoadoutIndex ) + SetLabelRuiText( Hud_GetChild( file.menu, "TitanSelectTitle" ), "#MENU_TITAN_SELECT" ) + } + else + { + RuiSetString( rui, "titanLevelString", GetItemUnlockReqText( loadout.titanClass ) ) + } + + SetLabelRuiText( Hud_GetChild( file.menu, "TitanSelectTitle" ), GetTitanAvailableText( player, loadout.titanClass) ) + + RunMenuClientFunction( "UpdateTitanModel", scriptID ) + RunClientScript( "TTS_UpdateLocalPlayerTitan", loadout.setFile, loadout.primary, loadout.passive1, loadout.passive2 ) +} + +string function GetTitanAvailableText( entity player, string titanClass ) +{ + int titanAvailableState = GetTitanLoadAvailableState( player, titanClass ) + + if ( titanAvailableState == TITAN_CLASS_LOCK_STATE_AVAILABLE ) + return "#MENU_TITAN_SELECT_HINT" + + if ( titanAvailableState == TITAN_CLASS_LOCK_STATE_LEVELREQUIRED || titanAvailableState == TITAN_CLASS_LOCK_STATE_LEVELRECOMMENDED ) + { + int difficultyLevel = GetCurrentPlaylistVarInt( "fd_difficulty", 0 ) + int requiredTitanLevel = 0 + switch ( difficultyLevel ) + { + case eFDDifficultyLevel.EASY: + if ( GetItemUnlockType( "fd_easy" ) == eUnlockType.STAT ) + requiredTitanLevel = int( GetStatUnlockStatVal( "fd_easy" ) ) + break + case eFDDifficultyLevel.NORMAL: + if ( GetItemUnlockType( "fd_normal" ) == eUnlockType.STAT ) + requiredTitanLevel = int( GetStatUnlockStatVal( "fd_normal" ) ) + break + case eFDDifficultyLevel.HARD: + if ( GetItemUnlockType( "fd_hard" ) == eUnlockType.STAT ) + requiredTitanLevel = int( GetStatUnlockStatVal( "fd_hard" ) ) + break + case eFDDifficultyLevel.MASTER: + if ( GetItemUnlockType( "fd_master" ) == eUnlockType.STAT ) + requiredTitanLevel = int( GetStatUnlockStatVal( "fd_master" ) ) + break + case eFDDifficultyLevel.INSANE: + if ( GetItemUnlockType( "fd_insane" ) == eUnlockType.STAT ) + requiredTitanLevel = int( GetStatUnlockStatVal( "fd_insane" ) ) + break + } + + if ( titanAvailableState == TITAN_CLASS_LOCK_STATE_LEVELREQUIRED ) + return Localize( "#MENU_TITAN_SELECT_LEVELREQUIRED", requiredTitanLevel ) + else + return Localize( "#MENU_TITAN_SELECT_LEVELRECOMMENDED", requiredTitanLevel ) + } + + if ( titanAvailableState == TITAN_CLASS_LOCK_STATE_INUSE ) + return "#MENU_TITAN_SELECT_INUSE" + + if ( titanAvailableState == TITAN_CLASS_LOCK_STATE_LOCKED ) + return "#MENU_TITAN_SELECT_LOCKED" + + return "#MENU_TITAN_SELECT_HINT" +} + +void function Delayed_RequestTitanLoadout( int index ) +{ + Signal( uiGlobal.signalDummy, "Delayed_RequestTitanLoadout" ) + EndSignal( uiGlobal.signalDummy, "Delayed_RequestTitanLoadout" ) + wait 0.5 + ClientCommand( "RequestTitanLoadout " + uiGlobal.titanSpawnLoadoutIndex ) +} + +void function TitanUpgradeButton_OnFocused( var button ) +{ + if ( file.menuMode == eTTSMenuMode.DEFAULT ) + return + + int scriptID = int( Hud_GetScriptID( button ) ) + TitanLoadoutDef loadout = GetCachedTitanLoadout( uiGlobal.titanSpawnLoadoutIndex ) + array<ItemDisplayData> titanUpgrades = FD_GetUpgradesForTitanClass( loadout.titanClass ) + + ItemDisplayData item = titanUpgrades[ scriptID ] + var panel = Hud_GetChild( file.menu, "UpgradeName" ) + Hud_Show( panel ) + var rui = Hud_GetRui( panel ) + RuiSetString( rui, "upgradeName", item.name ) + RuiSetString( rui, "upgradeDesc", item.desc ) + RuiSetBool( rui, "isLocked", IsSubItemLocked( GetUIPlayer(), item.ref, item.parentRef ) ) +} + +void function TitanUpgradeButton_OnLoseFocus( var button ) +{ + Hud_Hide( Hud_GetChild( file.menu, "UpgradeName" ) ) +} + +void function BeginEditMode( var button ) +{ + if ( file.isReady ) + return + + file.isReady = true + + EmitUISound( "UI_InGame_FD_TitanSelected" ) + SetLabelRuiText( Hud_GetChild( file.menu, "TitanSelectTitle" ), "#MENU_TITAN_SELECTED" ) + Hud_Hide( Hud_GetChild( file.menu, "TitanSelectTitle" ) ) + Hud_Show( file.readyPanel ) + var rui = Hud_GetRui( file.readyPanel ) + RuiSetBool( rui, "isReady", true ) + + foreach ( b in file.titanButtons ) + { + Hud_Hide( b ) + } + + //Hud_Show( file.editButton ) + //Hud_SetFocused( file.editButton ) + Hud_SetFocused( file.titanUpgradeButtons[0] ) + + TitanLoadoutDef loadout = GetCachedTitanLoadout( uiGlobal.titanSpawnLoadoutIndex ) + string primeTitanString = "" + + if ( loadout.isPrime == "titan_is_prime" ) + primeTitanString = "_prime" + + string modifiedAlias = "diag_gs_titan" + loadout.titanClass + primeTitanString + "_embark" + EmitUISound( modifiedAlias ) + + if ( uiGlobal.activeMenu == file.menu ) + UI_SetPresentationType( ePresentationType.TITAN_CENTER_SELECTED ) + + Signal( uiGlobal.signalDummy, "Delayed_RequestTitanLoadout" ) + ClientCommand( "RequestTitanLoadout " + uiGlobal.titanSpawnLoadoutIndex ) + RunMenuClientFunction( "UpdateTitanModel", uiGlobal.titanSpawnLoadoutIndex ) + + var subText = Hud_GetChild( file.menu, "MenuSubTitle" ) + // Hud_Hide( subText ) +} + +void function BeginSelectionMode() +{ + if ( !file.isReady ) + return + + file.isReady = false + //Hud_Hide( file.editButton ) + + SetLabelRuiText( Hud_GetChild( file.menu, "TitanSelectTitle" ), "#MENU_TITAN_SELECT_HINT" ) + Hud_Show( Hud_GetChild( file.menu, "TitanSelectTitle" ) ) + Hud_Hide( file.readyPanel ) + var rui = Hud_GetRui( file.readyPanel ) + RuiSetBool( rui, "isReady", false ) + + Hud_SetFocused( FindValidTitanButton() ) + + for ( int i=0; i<file.titanButtons.len(); i++ ) + { + var b = file.titanButtons[i] + Hud_Show( b ) + if ( i == uiGlobal.titanSpawnLoadoutIndex && !Hud_IsLocked( b ) ) + { + Hud_SetFocused( b ) + } + } + + Hud_Hide( Hud_GetChild( file.menu, "UpgradeName" ) ) + + UI_SetPresentationType( ePresentationType.TITAN_CENTER ) + RunMenuClientFunction( "UpdateTitanModel", uiGlobal.titanSpawnLoadoutIndex ) + + var subText = Hud_GetChild( file.menu, "MenuSubTitle" ) + // Hud_Show( subText ) +} + +void function EditPilotButton_OnClick( var button ) +{ + // SetEditLoadout( "pilot", uiGlobal.pilotSpawnLoadoutIndex ) + // RunMenuClientFunction( "SetEditingPilotLoadoutIndex", uiGlobal.pilotSpawnLoadoutIndex ) + AdvanceMenu( GetMenu( "EditPilotLoadoutsMenu" ) ) + RunMenuClientFunction( "HideTTSPanel" ) +} + +void function EditTitanButton_OnClick( var button ) +{ + SetEditLoadout( "titan", uiGlobal.titanSpawnLoadoutIndex ) + RunMenuClientFunction( "SetEditingTitanLoadoutIndex", uiGlobal.titanSpawnLoadoutIndex ) + AdvanceMenu( GetMenu( "EditTitanLoadoutMenu" ) ) + RunMenuClientFunction( "HideTTSPanel" ) +} + +bool function CoverIsOff() +{ + return !Hud_IsEnabled( file.cover ) +} + +bool function TeamTitanSelectMenuIsOpen() +{ + return file.menuOpened +} + +bool function TeamTitanSelect_IsReady() +{ + return file.isReady +} + +bool function TeamTitanSelect_IsNotReady() +{ + return !file.isReady +} + +void function TTSMenuModeFD() +{ + file.menuMode = eTTSMenuMode.FD + + foreach ( button in file.titanUpgradeButtons ) + { + Hud_Show( button ) + } +} + +void function TTSMenuModeDefault() +{ + file.menuMode = eTTSMenuMode.DEFAULT + + foreach ( button in file.titanUpgradeButtons ) + { + Hud_Hide( button ) + } + + var panel = Hud_GetChild( file.menu, "UpgradeName" ) + Hud_Hide( panel ) +} + +var function FindValidTitanButton() +{ + foreach ( button in file.titanButtons ) + { + if ( Hud_IsLocked( button ) ) + continue + + return button + } + + return file.titanButtons[0] +}
\ No newline at end of file |