using System.Collections.Frozen; using Content.Shared._NF.BountyContracts; using Robust.Shared.Prototypes; namespace Content.Server._NF.BountyContracts; /// /// Store all bounty contracts information. /// [RegisterComponent] [Access(typeof(BountyContractSystem))] public sealed partial class BountyContractDataComponent : Component { /// /// Last registered contract id. Used to track contracts. /// [DataField] public uint LastId; /// /// All open bounty contracts, grouped by collection, listed by their contract id. /// [DataField] public FrozenDictionary, Dictionary>? Contracts = null; /// /// A cached list of prototype IDs by their order /// [DataField] public List> OrderedCollections = new(); }