using Content.Shared.Construction.Steps; namespace Content.Shared.Construction { [Serializable] [DataDefinition] public sealed class ConstructionGraphEdge { [DataField("steps")] private ConstructionGraphStep[] _steps = Array.Empty(); [DataField("conditions", serverOnly: true)] private IGraphCondition[] _conditions = Array.Empty(); [DataField("completed", serverOnly: true)] private IGraphAction[] _completed = Array.Empty(); [ViewVariables] [DataField("to", required:true)] public string Target { get; } = string.Empty; [ViewVariables] public IReadOnlyList Conditions => _conditions; [ViewVariables] public IReadOnlyList Completed => _completed; [ViewVariables] public IReadOnlyList Steps => _steps; } }