Two editor-side affector implementations for arch walls. Each class (ArchOpeningRunEffects and ArchBalconyEffects) implements IArchAffector, sets Kind and Order, delegates Resolve to corresponding affector static methods, and provides trivial Close/Closes implementations.
namespace Sunless.Architecture;
public sealed class ArchOpeningRunEffects : IArchAffector
{
public ArchKind Kind => ArchKind.Opening;
public int Order => 40;
public int Resolve( ArchPlan plan, ArchKit kit ) => ArchOpeningRunAffector.Resolve( plan, kit );
public bool Closes( object payload ) => false;
public void Close( ArchPlan plan, object payload )
{
}
}
public sealed class ArchBalconyEffects : IArchAffector
{
public ArchKind Kind => ArchKind.Balcony;
public int Order => 50;
public int Resolve( ArchPlan plan, ArchKit kit ) => ArchBalconyAffector.Resolve( plan, kit );
public bool Closes( object payload ) => false;
public void Close( ArchPlan plan, object payload )
{
}
}