public Obstacle(Tile tile, Predicate <Tile> condition) { if (tile == null) { Position = Rectangle.Empty(); } else { var start = tile.GetAdjacentWhile((IsVertical ? BorderSide.Top : BorderSide.Left), condition).Last(); var end = tile.GetAdjacentWhile((IsVertical ? BorderSide.Bottom : BorderSide.Right), condition).Last(); var area = start.GetEnclosingArea(end); Position = area; } }
public LayoutPanel(BorderTileSet tileSet, Layer layer) { Border = new BorderedRectangle(tileSet, Rectangle.Empty(), layer); }