using Content.Shared.Research.Prototypes; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; namespace Content.Shared.Lathe.Prototypes; /// /// A pack of lathe recipes that one or more lathes can use. /// Packs will inherit the parents recipes when using inheritance, so you don't need to copy paste them. /// [Prototype] public sealed partial class LatheRecipePackPrototype : IPrototype, IInheritingPrototype { [ViewVariables] [IdDataField] public string ID { get; private set; } = default!; [ParentDataField(typeof(AbstractPrototypeIdArraySerializer))] public string[]? Parents { get; private set; } [NeverPushInheritance] [AbstractDataField] public bool Abstract { get; private set; } /// /// The lathe recipes contained by this pack. /// [DataField(required: true)] [AlwaysPushInheritance] public HashSet> Recipes = new(); }