Implemented RagfairRequiredItemsService

This commit is contained in:
Chomp
2025-01-23 13:42:03 +00:00
parent d97d901aad
commit 3127465b35
@@ -1,19 +1,40 @@
using SptCommon.Annotations;
using Core.Helpers;
using SptCommon.Annotations;
using Core.Models.Eft.Ragfair;
namespace Core.Services;
[Injectable(InjectionType.Singleton)]
public class RagfairRequiredItemsService
public class RagfairRequiredItemsService(
RagfairOfferService _ragfairOfferService,
PaymentHelper _paymentHelper)
{
public List<RagfairOffer> GetRequiredItemsById(string searchId)
protected Dictionary<string, List<RagfairOffer>> _requiredItemsCache;
public List<RagfairOffer>? GetRequiredItemsById(string searchId)
{
Console.WriteLine($"actually implement me plz: owo: GetRequiredItemsById");
return new List<RagfairOffer>();
_requiredItemsCache.TryGetValue(searchId, out var list);
return list;
}
public void BuildRequiredItemTable()
{
Console.WriteLine($"actually implement me plz: owo: BuildRequiredItemTable");
_requiredItemsCache = new Dictionary<string, List<RagfairOffer>>();
foreach (var offer in _ragfairOfferService.GetOffers()) {
foreach (var requirement in offer.Requirements) {
if (_paymentHelper.IsMoneyTpl(requirement.Template))
{
// This would just be too noisy
continue;
}
// Ensure key is init
_requiredItemsCache.TryAdd(requirement.Template, []);
// Add matching offer
_requiredItemsCache[requirement.Template].Add(offer);
}
}
}
}