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);
|