rott/kf_sources/ScrnBalanceSrv/Classes/ScrnTab_MidGamePerks.uc
2026-07-14 20:27:09 +07:00

65 lines
2.1 KiB
Ucode

class ScrnTab_MidGamePerks extends SRTab_MidGamePerks;
var ScrnClientPerkRepLink PerkLink;
function ShowPanel(bool bShow)
{
Super.ShowPanel(bShow);
if ( bShow ) {
PerkLink = Class'ScrnClientPerkRepLink'.Static.FindMe(PlayerOwner());
if ( PerkLink != none ) {
// Initialize the List
lb_PerkSelect.List.InitList(None);
lb_PerkProgress.List.InitList();
}
}
}
function OnPerkSelected(GUIComponent Sender)
{
local byte Idx;
if ( PerkLink==None || PerkLink.CachePerks.Length==0 )
{
if( PerkLink!=None )
PerkLink.ServerRequestPerks();
lb_PerkEffects.SetContent(PleaseWaitStr);
}
else
{
Idx = lb_PerkSelect.GetIndex();
if( PerkLink.CachePerks[Idx].CurrentLevel==0 )
lb_PerkEffects.SetContent(PerkLink.CachePerks[Idx].PerkClass.Static.GetVetInfoText(0,1));
else if( PerkLink.CachePerks[Idx].CurrentLevel==PerkLink.MaximumLevel )
lb_PerkEffects.SetContent(PerkLink.CachePerks[Idx].PerkClass.Static.GetVetInfoText(PerkLink.CachePerks[Idx].CurrentLevel-1,1));
else
lb_PerkEffects.SetContent(
PerkLink.CachePerks[Idx].PerkClass.Static.GetVetInfoText(PerkLink.CachePerks[Idx].CurrentLevel-1, 1)
$ NextInfoStr $ PerkLink.CachePerks[Idx].PerkClass.Static.GetVetInfoText(PerkLink.CachePerks[Idx].CurrentLevel,11));
lb_PerkProgress.List.PerkChanged(None, Idx);
}
}
function bool OnSaveButtonClicked(GUIComponent Sender)
{
if ( PerkLink!=None && lb_PerkSelect.GetIndex()>=0 ) {
ScrnPlayerController(PlayerOwner()).SelectVeterancy(PerkLink.CachePerks[lb_PerkSelect.GetIndex()].PerkClass);
}
return true;
}
defaultproperties
{
Begin Object Class=ScrnPerkSelectListBox Name=PerkSelectList
OnCreateComponent=PerkSelectList.InternalOnCreateComponent
WinTop=0.057760
WinLeft=0.029240
WinWidth=0.437166
WinHeight=0.742836
End Object
lb_PerkSelect=ScrnPerkSelectListBox'ScrnBalanceSrv.ScrnTab_MidGamePerks.PerkSelectList'
}