Editor/Wall/ArchOpeningManifest.cs
using System;
using System.Collections.Generic;
using System.Linq;

namespace Sunless.Architecture;

public sealed class ArchOpeningManifest : ArchKindManifest<ArchOpening> {
	public override ArchKind Kind => ArchKind.Opening;

	public override string Slot => "Openings";

	public override IEnumerable<Type> Hosts => new[] { typeof( ArchWall ) };

	public override string Label => "Opening";

	public override string Glyph => ArchIcons.Get( "subtool_opening", "door_front" );

	public override string Subtool => ArchSubtools.Opening;

	public override int IndirectRank => 101;

	public override ArchLayerStage Stage( object payload ) => ArchLayerStage.Void;

	public override string NameOf( object payload, int id ) {
		return payload is ArchOpening opening ? $"{opening.Preset} {opening.Id}" : base.NameOf( payload, id );
	}
}