2024-04-16 18:29:40 +00:00
|
|
|
using System.Text.Json.Serialization;
|
2023-08-12 19:08:38 +01:00
|
|
|
using LootDumpProcessor.Storage;
|
2025-01-11 10:52:23 +03:00
|
|
|
|
2023-08-12 19:08:38 +01:00
|
|
|
|
|
|
|
namespace LootDumpProcessor.Model.Processing;
|
|
|
|
|
|
|
|
public class LooseLootCounts : IKeyable
|
|
|
|
{
|
2025-01-11 11:50:02 +03:00
|
|
|
[JsonPropertyName("__id__")] private string Id { get; set; }
|
2023-08-12 19:08:38 +01:00
|
|
|
|
|
|
|
public IKey Counts { get; set; }
|
|
|
|
public IKey ItemProperties { get; set; }
|
|
|
|
public List<int> MapSpawnpointCount { get; set; } = new();
|
|
|
|
|
2025-01-11 11:50:02 +03:00
|
|
|
public LooseLootCounts(string id, IKey counts, IKey itemProperties)
|
2023-08-12 19:08:38 +01:00
|
|
|
{
|
2025-01-11 11:50:02 +03:00
|
|
|
ArgumentException.ThrowIfNullOrWhiteSpace(id);
|
|
|
|
Id = id;
|
|
|
|
Counts = counts ?? throw new ArgumentNullException(nameof(counts));
|
|
|
|
ItemProperties = itemProperties ?? throw new ArgumentNullException(nameof(itemProperties));
|
2023-08-12 19:08:38 +01:00
|
|
|
}
|
2025-01-11 11:50:02 +03:00
|
|
|
|
|
|
|
public IKey GetKey() => new FlatUniqueKey([Id]);
|
2023-08-12 19:08:38 +01:00
|
|
|
}
|