158 lines
5.3 KiB
Ucode
158 lines
5.3 KiB
Ucode
class SRTab_MidGamePerks extends SRTab_Base;
|
|
|
|
// begin KFTab_MidGamePerks
|
|
var automated GUISectionBackground i_BGPerks;
|
|
var automated SRPerkSelectListBox lb_PerkSelect;
|
|
|
|
var automated GUISectionBackground i_BGPerkEffects;
|
|
var automated GUIScrollTextBox lb_PerkEffects;
|
|
|
|
var automated GUISectionBackground i_BGPerkNextLevel;
|
|
var automated SRPerkProgressListBox lb_PerkProgress;
|
|
|
|
var automated GUIButton b_Save;
|
|
// end KFTab_MidGamePerks
|
|
|
|
var localized string NextInfoStr,PleaseWaitStr;
|
|
|
|
function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
// Init localized
|
|
i_BGPerks.Caption = Class'KFTab_MidGamePerks'.Default.i_BGPerks.Caption;
|
|
i_BGPerkEffects.Caption = Class'KFTab_MidGamePerks'.Default.i_BGPerkEffects.Caption;
|
|
i_BGPerkNextLevel.Caption = Class'KFTab_MidGamePerks'.Default.i_BGPerkNextLevel.Caption;
|
|
b_Save.Caption = Class'KFTab_MidGamePerks'.Default.b_Save.Caption;
|
|
b_Save.Hint = Class'KFTab_MidGamePerks'.Default.b_Save.Hint;
|
|
|
|
Super.InitComponent(MyController, MyOwner);
|
|
|
|
lb_PerkSelect.List.OnChange = OnPerkSelected;
|
|
}
|
|
|
|
function ShowPanel(bool bShow)
|
|
{
|
|
Super.ShowPanel(bShow);
|
|
|
|
if ( bShow )
|
|
{
|
|
if ( Class'ClientPerkRepLink'.Static.FindStats(PlayerOwner())!=none )
|
|
{
|
|
// Initialize the List
|
|
lb_PerkSelect.List.InitList(None);
|
|
lb_PerkProgress.List.InitList();
|
|
}
|
|
}
|
|
}
|
|
|
|
function OnPerkSelected(GUIComponent Sender)
|
|
{
|
|
local ClientPerkRepLink ST;
|
|
local byte Idx;
|
|
|
|
ST = Class'ClientPerkRepLink'.Static.FindStats(PlayerOwner());
|
|
if ( ST==None || ST.CachePerks.Length==0 )
|
|
{
|
|
if( ST!=None )
|
|
ST.ServerRequestPerks();
|
|
lb_PerkEffects.SetContent(PleaseWaitStr);
|
|
}
|
|
else
|
|
{
|
|
Idx = lb_PerkSelect.GetIndex();
|
|
if( ST.CachePerks[Idx].CurrentLevel==0 )
|
|
lb_PerkEffects.SetContent(ST.CachePerks[Idx].PerkClass.Static.GetVetInfoText(0,1));
|
|
else if( ST.CachePerks[Idx].CurrentLevel==ST.MaximumLevel )
|
|
lb_PerkEffects.SetContent(ST.CachePerks[Idx].PerkClass.Static.GetVetInfoText(ST.CachePerks[Idx].CurrentLevel-1,1));
|
|
else lb_PerkEffects.SetContent(ST.CachePerks[Idx].PerkClass.Static.GetVetInfoText(ST.CachePerks[Idx].CurrentLevel-1,1)$NextInfoStr$ST.CachePerks[Idx].PerkClass.Static.GetVetInfoText(ST.CachePerks[Idx].CurrentLevel,1));
|
|
lb_PerkProgress.List.PerkChanged(None, Idx);
|
|
}
|
|
}
|
|
|
|
function bool OnSaveButtonClicked(GUIComponent Sender)
|
|
{
|
|
local ClientPerkRepLink ST;
|
|
|
|
ST = Class'ClientPerkRepLink'.Static.FindStats(PlayerOwner());
|
|
if ( ST!=None && lb_PerkSelect.GetIndex()>=0 )
|
|
ST.ServerSelectPerk(ST.CachePerks[lb_PerkSelect.GetIndex()].PerkClass);
|
|
return true;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object Class=GUISectionBackground Name=BGPerks
|
|
bFillClient=True
|
|
WinTop=0.012063
|
|
WinLeft=0.019240
|
|
WinWidth=0.457166
|
|
WinHeight=0.796032
|
|
OnPreDraw=BGPerks.InternalPreDraw
|
|
End Object
|
|
i_BGPerks=GUISectionBackground'ServerPerks.SRTab_MidGamePerks.BGPerks'
|
|
|
|
Begin Object Class=SRPerkSelectListBox Name=PerkSelectList
|
|
OnCreateComponent=PerkSelectList.InternalOnCreateComponent
|
|
WinTop=0.057760
|
|
WinLeft=0.029240
|
|
WinWidth=0.437166
|
|
WinHeight=0.742836
|
|
End Object
|
|
lb_PerkSelect=SRPerkSelectListBox'ServerPerks.SRTab_MidGamePerks.PerkSelectList'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGPerkEffects
|
|
bFillClient=True
|
|
WinTop=0.012063
|
|
WinLeft=0.486700
|
|
WinWidth=0.491566
|
|
WinHeight=0.366816
|
|
OnPreDraw=BGPerkEffects.InternalPreDraw
|
|
End Object
|
|
i_BGPerkEffects=GUISectionBackground'ServerPerks.SRTab_MidGamePerks.BGPerkEffects'
|
|
|
|
Begin Object Class=GUIScrollTextBox Name=PerkEffectsScroll
|
|
CharDelay=0.002500
|
|
EOLDelay=0.100000
|
|
OnCreateComponent=PerkEffectsScroll.InternalOnCreateComponent
|
|
WinTop=0.057760
|
|
WinLeft=0.500554
|
|
WinWidth=0.465143
|
|
WinHeight=0.313477
|
|
TabOrder=9
|
|
End Object
|
|
lb_PerkEffects=GUIScrollTextBox'ServerPerks.SRTab_MidGamePerks.PerkEffectsScroll'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGPerksNextLevel
|
|
bFillClient=True
|
|
WinTop=0.392889
|
|
WinLeft=0.486700
|
|
WinWidth=0.490282
|
|
WinHeight=0.415466
|
|
OnPreDraw=BGPerksNextLevel.InternalPreDraw
|
|
End Object
|
|
i_BGPerkNextLevel=GUISectionBackground'ServerPerks.SRTab_MidGamePerks.BGPerksNextLevel'
|
|
|
|
Begin Object Class=SRPerkProgressListBox Name=PerkProgressList
|
|
OnCreateComponent=PerkProgressList.InternalOnCreateComponent
|
|
WinTop=0.476850
|
|
WinLeft=0.499269
|
|
WinWidth=0.463858
|
|
WinHeight=0.341256
|
|
End Object
|
|
lb_PerkProgress=SRPerkProgressListBox'ServerPerks.SRTab_MidGamePerks.PerkProgressList'
|
|
|
|
Begin Object Class=GUIButton Name=SaveButton
|
|
WinTop=0.822807
|
|
WinLeft=0.302670
|
|
WinWidth=0.363829
|
|
WinHeight=0.042757
|
|
TabOrder=2
|
|
bBoundToParent=True
|
|
OnClick=SRTab_MidGamePerks.OnSaveButtonClicked
|
|
OnKeyEvent=SaveButton.InternalOnKeyEvent
|
|
End Object
|
|
b_Save=GUIButton'ServerPerks.SRTab_MidGamePerks.SaveButton'
|
|
|
|
NextInfoStr="||Next level effects:|"
|
|
PleaseWaitStr="Please wait while your client is loading the perks..."
|
|
}
|