using System.Collections.Generic; using Questionable.Controller.Steps; namespace Questionable.Controller.CustomDelivery; internal sealed record VendorPurchaseTask(uint VendorNpcId, IReadOnlyList Purchases, int DialogOptionIndex = 0) : ITask { internal readonly record struct PurchaseItem(uint ItemId, int Quantity); public override string ToString() { if (Purchases.Count == 1) { return $"VendorPurchase({VendorNpcId}, item {Purchases[0].ItemId} x{Purchases[0].Quantity}, dialog {DialogOptionIndex})"; } return $"VendorPurchase({VendorNpcId}, {Purchases.Count} items, dialog {DialogOptionIndex})"; } }