Editor/Roof/ArchRoofDrawer.cs

An editor-side drawer for arch roofs. It implements IArchDrawer and delegates roof generation to ArchRoofGen.Build, passing the canvas, collected roof parts, parent building, plan, kit, style, and a list of gutter run paths.

File Access
using System.Collections.Generic;

namespace Sunless.Architecture;

// The gutter runs are collected into the list the builder hands in, because the channel is drawn beside the
// roof rather than inside it. No list means the building has its gutters turned off.
public sealed class ArchRoofDrawer : IArchDrawer
{
	public string Draws => ArchDraws.Roof;

	public void Draw( ArchDrawing drawing )
	{
		ArchRoofGen.Build( drawing.Canvas, drawing.Drawn<ArchRoofPart>(), drawing.Within<ArchBuilding>(),
			drawing.Plan, drawing.Kit, drawing.Style, drawing.Within<List<ArchRunPath>>() );
	}
}