/* -------------------------------------------------------------- GUIBuyMenu_Story -------------------------------------------------------------- Main Trader Menu class extended to add support for story elements. Author : Alex Quick -------------------------------------------------------------- */ class GUIBuyMenu_Story extends GUIBuyMenu; var automated GUILabel ShopTitleLabel; var bool bShowPerkHeader; function UpdateHeader() { local int TimeLeftMin, TimeLeftSec; local string TimeString; local KFPlayerController_Story StoryPC; local float ObjTimeRemaining; if ( KFPlayerController(PlayerOwner()) == none || PlayerOwner().PlayerReplicationInfo == none || PlayerOwner().GameReplicationInfo == none ) { return; } StoryPC = KFPlayerController_Story(PlayerOwner()); if(StoryPC == none) { Super.UpdateHeader(); return; } // Current Perk if ( KFPlayerController(PlayerOwner()).SelectedVeterancy != none ) { CurrentPerkLabel.Caption = CurrentPerk$":" @ KFPlayerController(PlayerOwner()).SelectedVeterancy.default.VeterancyName @ LvAbbrString$KFPlayerReplicationInfo(PlayerOwner().PlayerReplicationInfo).ClientVeteranSkillLevel; } else { CurrentPerkLabel.Caption = CurrentPerk$":" @ NoActivePerk; } // Trader time left if(StoryPC != none) { ObjTimeRemaining = StoryPC.RemainingTraderTime; } TimeLeftMin = ObjTimeRemaining / 60; TimeLeftSec = ObjTimeRemaining % 60; if ( TimeLeftMin < 1 ) { TimeString = "00:"; } else { TimeString = "0" $ TimeLeftMin $ ":"; } if ( TimeLeftSec >= 10 ) { TimeString = TimeString $ TimeLeftSec; } else { TimeString = TimeString $ "0" $ TimeLeftSec; } TimeLeftLabel.Caption = TraderClose @ TimeString; if ( KFGameReplicationInfo(PlayerOwner().GameReplicationInfo).TimeToNextWave < 10 ) { TimeLeftLabel.TextColor = RedColor; } else { TimeLeftLabel.TextColor = GreenGreyColor; } } function InitComponent(GUIController MyController, GUIComponent MyOwner) { Super.InitComponent(MyController, MyOwner); FillInfoFromVolume(); if(!bShowPerkHeader) { HeaderBG_Left.Hint = ""; HeaderBG_Left_Label.Caption = ""; c_Tabs.RemoveTab(PanelClass[1]); RemoveComponent(QuickPerkSelect); RemoveComponent(StoreTabButton); RemoveComponent(PerkTabButton); } } function FillInfoFromVolume() { local KFShopVolume_Story CurrentPlayerShop; if(KFPlayerController_Story(PlayerOwner()) != none) { CurrentplayerShop = KFPlayerController_Story(PlayerOwner()).CurrentShopVolume ; if(CurrentPlayerShop != none) { if( CurrentPlayerShop.ShopName != "" ) { ShopTitleLabel.Caption = CurrentPlayerShop.ShopName ; } bShowPerkHeader = CurrentPlayerShop.bShowPerkHeader; } } } defaultproperties { bShowPerkHeader = true; PanelClass(0)="KFStoryUI.KFTab_BuyMenu_Story" Begin Object Class=GUILabel Name=ShopTitle Caption="Trader" TextAlign=TXTA_Center TextColor=(B=158,G=176,R=175) WinTop=0.052857 WinLeft=0.336529 WinWidth=0.327071 WinHeight=0.035000 End Object ShopTitleLabel=GUILabel'KFStoryUI.GUIBuyMenu_Story.ShopTitle' WaveLabel = none // TimeLeftLabel = none }