An editor manifest class describing the stair architecture part. It specifies metadata for ArchStairPart such as kind, slot name, host types, UI label and glyph, subtool id, child kinds, rank and layer stage.
using System;
using System.Collections.Generic;
using System.Linq;
namespace Sunless.Architecture;
public sealed class ArchStairManifest : ArchKindManifest<ArchStairPart>
{
public override ArchKind Kind => ArchKind.Stair;
public override string Slot => "Stairs";
public override IEnumerable<Type> Hosts => new[] { typeof( ArchRoom ), typeof( ArchPorchPart ) };
public override string Label => "Stair";
public override string Glyph => ArchIcons.Get( "subtool_stair", "stairs" );
public override string Subtool => ArchSubtools.Stair;
public override string HostOutput => "Resolved stair shape";
// The climb, as rows: flight, platform, flight. A stair is a host exactly as a porch is.
public override IEnumerable<ArchKind> Children => new[] { ArchKind.StairStep };
public override int DirectRank => 10;
public override ArchLayerStage Stage( object payload ) => ArchLayerStage.Void;
}