CatStation/Content.Server/Construction/Components/ConstructionComponent.cs
deltanedas cf7fde3d62
Big prototype and datafield cleanup (#45202)
* giant protoid cleanup

* yml changes

* !

---------

Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-08-12 02:07:22 +00:00

42 lines
1.2 KiB
C#

using Content.Shared.Construction.Prototypes;
using Content.Shared.DoAfter;
using Robust.Shared.Prototypes;
namespace Content.Server.Construction.Components
{
[RegisterComponent, Access(typeof(ConstructionSystem))]
public sealed partial class ConstructionComponent : Component
{
[DataField(required: true)]
public ProtoId<ConstructionGraphPrototype> Graph;
[DataField(required: true)]
public string Node = string.Empty;
[DataField("edge")]
public int? EdgeIndex;
[DataField("step")]
public int StepIndex;
[DataField]
public HashSet<string> Containers = new();
[DataField("defaultTarget")]
public string? TargetNode;
[ViewVariables]
public int? TargetEdgeIndex;
[ViewVariables]
public Queue<string>? NodePathfinding;
[DataField("deconstructionTarget")]
public string? DeconstructionNode = "start";
[ViewVariables]
// TODO Force flush interaction queue before serializing to YAML.
// Otherwise you can end up with entities stuck in invalid states (e.g., waiting for DoAfters).
public readonly Queue<object> InteractionQueue = new();
}
}