Implementation of IArchWalkways for editor-side architecture code. It forwards walkway queries to ArchWalkwayGen and ArchWalkway, checks for null room, computes footprint bounds and determines axis orientation.
namespace Sunless.Architecture;
public sealed class ArchWalkwayLinks : IArchWalkways
{
public bool IsWalkway( ArchRoom room ) => ArchWalkwayGen.IsWalkway( room );
public bool Rising( ArchRoom room ) => ArchWalkwayGen.Rising( room );
public bool RunsAlongX( ArchRoom room )
{
if ( room is null )
{
return false;
}
ArchFootprint.Bounds( ArchFloorGen.Footprint( room ), out var min, out var max );
return ArchWalkway.RunsAlongX( min, max );
}
}