Files
tbd-station-14/Content.Shared/Construction/Steps/NestedConstructionGraphStep.cs
2021-09-15 16:36:56 +02:00

28 lines
879 B
C#

using System.Collections.Generic;
using System.IO;
using System.Linq;
using Content.Shared.Examine;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Shared.Construction.Steps
{
[DataDefinition]
public class NestedConstructionGraphStep : ConstructionGraphStep, ISerializationHooks
{
[DataField("steps")] public List<List<ConstructionGraphStep>> Steps { get; private set; } = new();
void ISerializationHooks.AfterDeserialization()
{
if (Steps.Any(inner => inner.Any(step => step is NestedConstructionGraphStep)))
{
throw new InvalidDataException("Can't have nested construction steps inside nested construction steps!");
}
}
public override void DoExamine(ExaminedEvent examinedEvent)
{
}
}
}