From 82f555a754aa852f0b163fa995dfc52d10f510ff Mon Sep 17 00:00:00 2001 From: Chomp Date: Thu, 3 Jul 2025 10:04:09 +0100 Subject: [PATCH] Added MongoId type to various places --- .../Helpers/ItemHelper.cs | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs index 96336cf3..ed998e15 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs @@ -108,21 +108,21 @@ public class ItemHelper( /// Does the provided pool of items contain the desired item /// /// Item collection to check - /// Item to look for + /// Item to look for /// OPTIONAL - slotId of desired item /// True if pool contains item - public bool HasItemWithTpl(IEnumerable itemPool, string item, string slotId = "") + public bool HasItemWithTpl(IEnumerable itemPool, string itemTpl, string slotId = "") { // Filter the pool by slotId if provided var filteredPool = string.IsNullOrEmpty(slotId) ? itemPool - : itemPool.Where(item => - item.SlotId?.StartsWith(slotId, StringComparison.OrdinalIgnoreCase) ?? false + : itemPool.Where(itemInPool => + itemInPool.SlotId?.StartsWith(slotId, StringComparison.OrdinalIgnoreCase) ?? false ); // Check if any item in the filtered pool matches the provided item return filteredPool.Any(poolItem => - string.Equals(poolItem.Template, item, StringComparison.OrdinalIgnoreCase) + string.Equals(poolItem.Template, itemTpl, StringComparison.OrdinalIgnoreCase) ); } @@ -133,7 +133,7 @@ public class ItemHelper( /// Item tpl to find /// OPTIONAL - slotId of desired item /// Item or null if no item found - public Item GetItemFromPoolByTpl(IEnumerable itemPool, string tpl, string slotId = "") + public Item GetItemFromPoolByTpl(IEnumerable itemPool, MongoId tpl, string slotId = "") { // Filter the pool by slotId if provided var filteredPool = string.IsNullOrEmpty(slotId) @@ -143,7 +143,7 @@ public class ItemHelper( ); // Check if any item in the filtered pool matches the provided item - return filteredPool.FirstOrDefault(poolItem => poolItem.Template.Equals(tpl)); + return filteredPool.FirstOrDefault(poolItem => poolItem.Template == tpl); } /// @@ -1345,11 +1345,9 @@ public class ItemHelper( /// Item with children /// The base items root id /// ItemSize object (width and height) - public ItemSize GetItemSize(ICollection items, string rootItemId) + public ItemSize GetItemSize(ICollection items, MongoId rootItemId) { - var rootTemplate = GetItem( - items.Where(x => x.Id.Equals(rootItemId)).ToList()[0].Template - ).Value; + var rootTemplate = GetItem(items.FirstOrDefault(x => x.Id == rootItemId)?.Template).Value; var width = rootTemplate.Properties.Width; var height = rootTemplate.Properties.Height; @@ -1364,9 +1362,9 @@ public class ItemHelper( var forcedRight = 0; var children = items.FindAndReturnChildrenAsItems(rootItemId); - foreach (var ci in children) + foreach (var child in children) { - var itemTemplate = GetItem(ci.Template).Value; + var itemTemplate = GetItem(child.Template).Value; // Calculating child ExtraSize if (itemTemplate.Properties.ExtraSizeForceAdd ?? false)