private List <int> GetNearbyFloorLocations(FacilityLayer layer, XY location) { return(layer.GetNeighbors(location) .Where(IsFloor) .Select(x => GetSpaceNumber(x.Location, location)) .OrderBy(x => x).ToList()); }
private List <XY> GetWallLocations(FacilityLayer layer) { return(layer.Where(IsFloor) .SelectMany(y => layer.GetNeighbors(y.Location).Where(x => !IsFloor(x))) .Select(z => z.Location) .Distinct().ToList()); }