From b23832267ce4bd2bd8fbedd70a093f0b3c1b965c Mon Sep 17 00:00:00 2001 From: Chomp Date: Thu, 16 Oct 2025 18:23:26 +0100 Subject: [PATCH] Fixed sort by name not working due to it being really slow #625 --- .../Helpers/RagfairSortHelper.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/RagfairSortHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/RagfairSortHelper.cs index 2eb47f74..0c52e5cc 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/RagfairSortHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/RagfairSortHelper.cs @@ -33,7 +33,8 @@ public class RagfairSortHelper(LocaleService localeService) break; case RagfairSort.OFFER_TITLE: - offers.Sort(SortOffersByName); + var locale = localeService.GetLocaleDb(); + offers.Sort((offer, ragfairOffer) => SortOffersByName(offer, ragfairOffer, locale)); break; case RagfairSort.PRICE: @@ -75,14 +76,12 @@ public class RagfairSortHelper(LocaleService localeService) return ratingA.CompareTo(ratingB); } - protected int SortOffersByName(RagfairOffer a, RagfairOffer b) + protected int SortOffersByName(RagfairOffer a, RagfairOffer b, Dictionary locale) { - var locale = localeService.GetLocaleDb(); - - var tplA = a.Items[0].Template; - var tplB = b.Items[0].Template; - var nameA = locale.GetValueOrDefault($"{tplA} Name", tplA); - var nameB = locale.GetValueOrDefault($"{tplB} Name", tplB); + var tplA = a.Items.First().Template; + var tplB = b.Items.First().Template; + var nameA = locale.GetValueOrDefault($"{tplA} Name", tplA.ToString()); + var nameB = locale.GetValueOrDefault($"{tplB} Name", tplB.ToString()); return string.CompareOrdinal(nameA, nameB); }