From edda872f5f87b822cfaef7decef43dbf4f3ee00f Mon Sep 17 00:00:00 2001 From: GenZmeY Date: Wed, 6 Jul 2022 23:13:13 +0300 Subject: [PATCH] redesign preloadcontent --- CTI/Classes/CTI_RepInfo.uc | 9 ++++----- CTI/Classes/Helper.uc | 22 ++++++++++++++-------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/CTI/Classes/CTI_RepInfo.uc b/CTI/Classes/CTI_RepInfo.uc index edafbbb..0536d01 100644 --- a/CTI/Classes/CTI_RepInfo.uc +++ b/CTI/Classes/CTI_RepInfo.uc @@ -142,6 +142,10 @@ private reliable client function ClientSync(class WeapDef, o else { AddItems.AddItem(WeapDef); + if (PreloadContent) + { + Helper.static.PreloadWeapon(WeapDef); + } } Recieved = RemoveItems.Length + AddItems.Length; @@ -176,11 +180,6 @@ private simulated reliable client function SyncFinished() } Helper.static.ModifyTrader(KFGRI, RemoveItems, AddItems, ReplaceMode); - - if (PreloadContent) - { - Helper.static.PreloadContent(AddItems); - } ShowReadyButton(); diff --git a/CTI/Classes/Helper.uc b/CTI/Classes/Helper.uc index 83a2a36..d7d77c6 100644 --- a/CTI/Classes/Helper.uc +++ b/CTI/Classes/Helper.uc @@ -52,18 +52,24 @@ public static simulated function ModifyTrader( KFGRI.TraderItems = TraderItems; } -public static function PreloadContent(Array > WeapDefs) +public static simulated function PreloadContent(Array > WeapDefs) +{ + local class WeapDef; + + foreach WeapDefs(WeapDef) + { + PreloadWeapon(WeapDef); + } +} + +public static simulated function PreloadWeapon(class WeapDef) { local class KFW; - local int Index; - for (Index = 0; Index < WeapDefs.Length; Index++) + KFW = class (DynamicLoadObject(WeapDef.default.WeaponClassPath, class'Class')); + if (KFW != None) { - KFW = class (DynamicLoadObject(WeapDefs[Index].default.WeaponClassPath, class'Class')); - if (KFW != None) - { - class'KFWeapon'.static.TriggerAsyncContentLoad(KFW); - } + class'KFWeapon'.static.TriggerAsyncContentLoad(KFW); } }