Editor/Stair/ArchApproachFoundationMouth.cs

An editor-side implementation of IArchFoundationMouth for the Approach arch kind. It returns a list of 2D points representing the mouth/opening by delegating to ArchApproachGen.Mouth when the request payload is an ArchApproachPart, otherwise returns an empty array.

namespace Sunless.Architecture;

public sealed class ArchApproachFoundationMouth : IArchFoundationMouth
{
	public ArchKind Kind => ArchKind.Approach;

	public IReadOnlyList<Vector2> Open( ArchFoundationMouthRequest request )
	{
		return request.Payload is ArchApproachPart approach
			? ArchApproachGen.Mouth( approach, request.Kit, request.Reach ).Loop
			: Array.Empty<Vector2>();
	}
}