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 );
}
}