Editor-side helper classes for floor-related architecture. Defines ArchFloorGrade which delegates lift grading to ArchFloorGen.GradeLift, and ArchFloorStoreys which enumerates storeys by mapping ArchFloorGen.Groups into ArchStorey instances with names, levels, and rooms.
using System.Collections.Generic;
using System.Linq;
namespace Sunless.Architecture;
public sealed class ArchFloorGrade : IArchGrade
{
public float Lift( ArchPlan plan, ArchBuilding building, ArchKit kit ) => ArchFloorGen.GradeLift( plan, building, kit );
}
public sealed class ArchFloorStoreys : IArchStoreys
{
public IEnumerable<ArchStorey> Of( ArchBuilding building, ArchKit kit, ArchStyle style )
{
return ArchFloorGen.Groups( building, kit, style )
.Select( group => new ArchStorey( ArchNames.Floor( group ), group.Level, group.Rooms, group ) );
}
}