Files
tbd-station-14/Content.Shared/Stacks/StackPrototype.cs
āda a0f0f40526 Reorganize tile StackPrototypes and add inheritance (#39491)
* atomize from #38412

* fix curtains in G menu

* re-add marble

* commit

* re-add xenoborg tiles

* re-add new faux

* missed tiles

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-10-11 23:21:07 +00:00

50 lines
1.5 KiB
C#

using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
using Robust.Shared.Utility;
namespace Content.Shared.Stacks;
[Prototype]
public sealed partial class StackPrototype : IPrototype, IInheritingPrototype
{
/// <inheritdoc />
[IdDataField]
public string ID { get; private set; } = default!;
/// <inheritdoc />
[ParentDataField(typeof(AbstractPrototypeIdArraySerializer<StackPrototype>))]
public string[]? Parents { get; private set; }
/// <inheritdoc />
[NeverPushInheritance]
[AbstractDataField]
public bool Abstract { get; private set; }
/// <summary>
/// Human-readable name for this stack type e.g. "Steel"
/// </summary>
/// <remarks>This is a localization string ID.</remarks>
[DataField]
public LocId Name { get; private set; } = string.Empty;
/// <summary>
/// An icon that will be used to represent this stack type.
/// </summary>
[DataField]
public SpriteSpecifier? Icon { get; private set; }
/// <summary>
/// The entity id that will be spawned by default from this stack.
/// </summary>
[DataField(required: true)]
public EntProtoId Spawn { get; private set; } = string.Empty;
/// <summary>
/// The maximum amount of things that can be in a stack.
/// Can be overriden on <see cref="StackComponent"/>
/// if null, simply has unlimited max count.
/// </summary>
[DataField]
public int? MaxCount { get; private set; }
}