예제 #1
0
 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;
     }
 }
예제 #2
0
 public LayoutPanel(BorderTileSet tileSet, Layer layer)
 {
     Border = new BorderedRectangle(tileSet, Rectangle.Empty(), layer);
 }