From ce1219f5e914f2cc94080c345edb9cb9da808527 Mon Sep 17 00:00:00 2001 From: CWX Date: Sun, 12 Jan 2025 17:37:32 +0000 Subject: [PATCH] start itemHelper --- Core/Helpers/ItemHelper.cs | 5 ++++ Core/Helpers/PresetHelper.cs | 51 ++++++++++++++++++++++++++++++++---- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/Core/Helpers/ItemHelper.cs b/Core/Helpers/ItemHelper.cs index 73072a97..7272c1f0 100644 --- a/Core/Helpers/ItemHelper.cs +++ b/Core/Helpers/ItemHelper.cs @@ -795,6 +795,11 @@ public class ItemHelper { throw new NotImplementedException(); } + + public bool IsOfBaseclass(string valueEncyclopedia, string weapon) + { + throw new NotImplementedException(); + } } public class ItemSize diff --git a/Core/Helpers/PresetHelper.cs b/Core/Helpers/PresetHelper.cs index a6ac3e16..95b85d8a 100644 --- a/Core/Helpers/PresetHelper.cs +++ b/Core/Helpers/PresetHelper.cs @@ -1,15 +1,37 @@ using Core.Annotations; using Core.Models.Eft.Common; using Core.Models.Enums; +using Core.Services; +using Core.Utils.Cloners; namespace Core.Helpers; -[Injectable] +[Injectable(InjectionType.Singleton)] public class PresetHelper { + protected DatabaseService _databaseService; + protected ItemHelper _itemHelper; + protected ICloner _primaryCloner; + + protected Dictionary> _lookup = new(); + protected Dictionary _defaultEquipmentPresets; + protected Dictionary _defaultWeaponPresets; + + public PresetHelper + ( + DatabaseService databaseService, + ItemHelper itemHelper, + ICloner primaryCloner + ) + { + _databaseService = databaseService; + _itemHelper = itemHelper; + _primaryCloner = primaryCloner; + } + public void HydratePresetStore(Dictionary> input) { - throw new NotImplementedException(); + _lookup = input; } /** @@ -18,7 +40,10 @@ public class PresetHelper */ public Dictionary GetDefaultPresets() { - throw new NotImplementedException(); + var weapons = GetDefaultWeaponPresets(); + var equipment = GetDefaultEquipmentPresets(); + + return weapons.Union(equipment).ToDictionary(); } /** @@ -27,7 +52,15 @@ public class PresetHelper */ public Dictionary GetDefaultWeaponPresets() { - throw new NotImplementedException(); + if (_defaultWeaponPresets == null) + { + var tempPresets = _databaseService.GetGlobals().ItemPresets; + tempPresets = tempPresets.Where(p => + p.Value.Encyclopedia != null && + _itemHelper.IsOfBaseclass(p.Value.Encyclopedia, BaseClasses.WEAPON)).ToDictionary(); + } + + return _defaultWeaponPresets; } /** @@ -36,7 +69,15 @@ public class PresetHelper */ public Dictionary GetDefaultEquipmentPresets() { - throw new NotImplementedException(); + if (_defaultEquipmentPresets == null) + { + var tempPresets = _databaseService.GetGlobals().ItemPresets; + tempPresets = tempPresets.Where(p => + p.Value.Encyclopedia != null && + _itemHelper.ArmorItemCanHoldMods(p.Value.Encyclopedia)).ToDictionary(); + } + + return _defaultWeaponPresets; } public bool IsPreset(string id)