28 lines
879 B
C#
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)
|
|
{
|
|
}
|
|
}
|
|
}
|