using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.Utility; namespace Content.Shared.Stacks { [Prototype("stack")] public sealed class StackPrototype : IPrototype { [ViewVariables] [IdDataFieldAttribute] public string ID { get; } = default!; /// /// Human-readable name for this stack type e.g. "Steel" /// /// This is a localization string ID. [DataField("name")] public string Name { get; } = string.Empty; /// /// An icon that will be used to represent this stack type. /// [DataField("icon")] public SpriteSpecifier? Icon { get; } /// /// The entity id that will be spawned by default from this stack. /// [DataField("spawn", required: true, customTypeSerializer:typeof(PrototypeIdSerializer))] public string Spawn { get; } = string.Empty; /// /// The maximum amount of things that can be in a stack. /// Can be overriden on /// if null, simply has unlimited max count. /// [DataField("maxCount")] public int? MaxCount { get; } } }