using Content.Shared.Access; using Content.Shared._NF.Shipyard; using Robust.Shared.Prototypes; namespace Content.Server._NF.Shipyard.Components; [RegisterComponent] public sealed partial class ShipyardVoucherComponent : Component { /// /// Number of redeemable ships that this voucher can still be used for. Decremented on purchase. /// [DataField] public uint RedemptionsLeft = 1; /// /// If true, card will be destroyed when no redemptions are left. Checked at time of sale. /// [DataField] public bool DestroyOnEmpty = false; /// /// Access tags and groups for shipyard access. /// [DataField] public IReadOnlyCollection> Access { get; private set; } = Array.Empty>(); [DataField] public IReadOnlyCollection> AccessGroups { get; private set; } = Array.Empty>(); /// /// The type of console where this voucher can be used. /// Should not be ShipyardConsoleUiKey.Custom. Note: currently cannot be used for mothership consoles. /// [DataField(required: true)] public ShipyardConsoleUiKey ConsoleType; }