Implemented RagfairRequiredItemsService
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user