49 lines
1.4 KiB
Ucode
49 lines
1.4 KiB
Ucode
class ExtPerksContainer_Selection extends KFGFxPerksContainer_Selection;
|
|
|
|
function UpdatePerkSelection(byte SelectedPerkIndex)
|
|
{
|
|
local int i;
|
|
local GFxObject DataProvider;
|
|
local GFxObject TempObj;
|
|
local ExtPlayerController KFPC;
|
|
local Ext_PerkBase PerkClass;
|
|
|
|
KFPC = ExtPlayerController( GetPC() );
|
|
|
|
if ( KFPC!=none && KFPC.ActivePerkManager!=None )
|
|
{
|
|
DataProvider = CreateArray();
|
|
|
|
for (i = 0; i < KFPC.ActivePerkManager.UserPerks.Length; i++)
|
|
{
|
|
PerkClass = KFPC.ActivePerkManager.UserPerks[i];
|
|
TempObj = CreateObject( "Object" );
|
|
TempObj.SetInt( "PerkLevel", PerkClass.CurrentLevel );
|
|
TempObj.SetString( "Title", PerkClass.PerkName );
|
|
TempObj.SetString( "iconSource", PerkClass.GetPerkIconPath(PerkClass.CurrentLevel) );
|
|
TempObj.SetBool("bTierUnlocked", true);
|
|
|
|
DataProvider.SetElementObject( i, TempObj );
|
|
}
|
|
SetObject( "perkData", DataProvider );
|
|
SetInt("SelectedIndex", SelectedPerkIndex);
|
|
|
|
UpdatePendingPerkInfo(SelectedPerkIndex);
|
|
}
|
|
}
|
|
|
|
function UpdatePendingPerkInfo(byte SelectedPerkIndex)
|
|
{
|
|
local ExtPlayerController KFPC;
|
|
local Ext_PerkBase PerkClass;
|
|
|
|
KFPC = ExtPlayerController( GetPC() );
|
|
if( KFPC != none )
|
|
{
|
|
PerkClass = KFPC.ActivePerkManager.UserPerks[SelectedPerkIndex];
|
|
SetPendingPerkChanges(PerkClass.PerkName, PerkClass.GetPerkIconPath(PerkClass.CurrentLevel), "Perk changes will be applied when you die.");
|
|
}
|
|
}
|
|
|
|
function SavePerk(int PerkID);
|