#nullable enable using System; using System.Collections.Generic; using Content.Shared.Construction.Steps; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.ViewVariables; namespace Content.Shared.Construction { [Serializable] [DataDefinition] public class ConstructionGraphEdge { [DataField("steps")] private List _steps = new(); [DataField("conditions", serverOnly: true)] private List _conditions = new(); [DataField("completed", serverOnly: true)] private List _completed = new(); [ViewVariables] [DataField("to")] public string Target { get; private set; } = string.Empty; [ViewVariables] public IReadOnlyList Conditions => _conditions; [ViewVariables] public IReadOnlyList Completed => _completed; [ViewVariables] public IReadOnlyList Steps => _steps; } }