KF2-Server-Extension/ServerExt/Classes/ExtPerksContainer_Details.uc

62 lines
1.9 KiB
Ucode
Raw Normal View History

2017-10-20 02:00:49 +00:00
class ExtPerksContainer_Details extends KFGFxPerksContainer_Details;
`define AddWeaponsInfo(InClassDef) if( `InClassDef!=None ) AddWeaponInfo(WeaponNames, WeaponSources, `InClassDef.static.GetItemName(), `InClassDef.static.GetImagePath())
final function ExUpdateDetails( Ext_PerkBase PerkClass )
{
local GFxObject DetailsProvider;
local KFPlayerController KFPC;
local KFGameReplicationInfo KFGRI;
local array<string> WeaponNames;
local array<string> WeaponSources;
local int i;
DetailsProvider = CreateObject( "Object" );
KFPC = KFPlayerController( GetPC() );
if ( KFPC != none)
{
KFGRI = KFGameReplicationInfo(KFPC.WorldInfo.GRI);
DetailsProvider.SetString( "ExperienceMessage", ExperienceString @ PerkClass.CurrentEXP );
if(KFGRI != none)
{
`AddWeaponsInfo(PerkClass.PrimaryWeaponDef);
`AddWeaponsInfo(PerkClass.SecondaryWeaponDef);
`AddWeaponsInfo(PerkClass.KnifeWeaponDef);
`AddWeaponsInfo(PerkClass.GrenadeWeaponDef);
}
for (i = 0; i < WeaponNames.length; i++)
{
DetailsProvider.SetString( "WeaponName" $ i, WeaponNames[i] );
DetailsProvider.SetString( "WeaponImage" $ i, "img://"$WeaponSources[i] );
}
DetailsProvider.SetString( "EXPAction1", "Kill zombies" );
//DetailsProvider.SetString( "EXPAction2", PerkClass.default.EXPAction2 );
SetObject( "detailsData", DetailsProvider );
}
}
final function ExUpdatePassives( Ext_PerkBase PerkClass )
{
local GFxObject PassivesProvider;
local GFxObject PassiveObject;
local int i;
PassivesProvider = CreateArray();
for( i=0; i<PerkClass.PerkStats.Length; ++i )
{
PassiveObject = CreateObject( "Object" );
PassiveObject.SetString( "PassiveTitle", PerkClass.GetStatUIStr(i) );
PassiveObject.SetString( "PerkBonusModifier", "");
PassiveObject.SetString( "PerkBonusAmount", "" );
PassivesProvider.SetElementObject( i, PassiveObject );
}
SetObject( "passivesData", PassivesProvider );
}