Editor/Data/ArchStoryManifest.cs

An editor manifest class that defines metadata for the "Story" architecture kind. It sets Kind, Payload, Label, Glyph, HostOutput and the allowed child ArchKind values.

using System;
using System.Collections.Generic;

namespace Sunless.Architecture;

public sealed class ArchStoryManifest : ArchKindManifest
{
	public override ArchKind Kind => ArchKind.Story;

	// A storey is projected from the floors its rooms stand on, so it owns no authored type and files by ident alone.
	public override Type Payload => null;

	public override string Label => "Story";

	public override string Glyph => "layers";

	public override string HostOutput => "Story work plane";

	public override IEnumerable<ArchKind> Children => new[]
	{
		ArchKind.Room, ArchKind.Platform, ArchKind.Porch, ArchKind.Approach,
		ArchKind.Roof
	};
}