Editor/Stair/ArchPiercers.cs

Defines an interface IArchPiercer with a single Pierce method and a static helper ArchPiercers that forwards a Pierce call to the role-based implementation returned by ArchRoles.One<IArchPiercer>().

namespace Sunless.Architecture;

public interface IArchPiercer
{
	void Pierce( ArchPlan plan, ArchBuilding building, ArchRoom room, object payload, ArchKit kit );
}

public static class ArchPiercers
{
	public static void Pierce( ArchPlan plan, ArchBuilding building, ArchRoom room, object payload, ArchKit kit )
	{
		ArchRoles.One<IArchPiercer>()?.Pierce( plan, building, room, payload, kit );
	}
}