Makes machine parts stackable, removes unused field in stack prototypes (#28434)

* Makes machine parts stacks, removes unused field in stack prototypes

* forgor

* Fix tests

* Fixes lathe construction. Yes. This sucks but there's no better way that doesnt involve refactoring machine parts completely

* detail

* a
This commit is contained in:
AJCM-git
2024-06-01 13:49:28 -04:00
committed by GitHub
parent a29b6a6894
commit 09256cfaa5
22 changed files with 88 additions and 168 deletions

View File

@@ -4,7 +4,7 @@ using Robust.Shared.Utility;
namespace Content.Shared.Stacks;
[Prototype("stack")]
[Prototype]
public sealed partial class StackPrototype : IPrototype
{
[ViewVariables]
@@ -15,33 +15,26 @@ public sealed partial class StackPrototype : IPrototype
/// Human-readable name for this stack type e.g. "Steel"
/// </summary>
/// <remarks>This is a localization string ID.</remarks>
[DataField("name")]
[DataField]
public string Name { get; private set; } = string.Empty;
/// <summary>
/// An icon that will be used to represent this stack type.
/// </summary>
[DataField("icon")]
[DataField]
public SpriteSpecifier? Icon { get; private set; }
/// <summary>
/// The entity id that will be spawned by default from this stack.
/// </summary>
[DataField("spawn", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
public string Spawn { get; private set; } = string.Empty;
[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("maxCount")]
[DataField]
public int? MaxCount { get; private set; }
/// <summary>
/// The size of an individual unit of this stack.
/// </summary>
[DataField("itemSize")]
public int? ItemSize;
}