示例#1
0
 private void FillNamedArea(int x, int y, string name, ITileLayer pathLayer, ITileLayer areaLayer)
 {
     Tile tile = pathLayer.GetActorAt(x, y);
     if (tile is RoomTile)
     {
         FillRoom(x, y, name, pathLayer);
     }
     else
     {
         FillArea(x, y, name, areaLayer);
     }
 }
示例#2
0
        private void FillNamedArea(int x, int y, string name, ITileLayer pathLayer, ITileLayer areaLayer)
        {
            Tile tile = pathLayer.GetActorAt(x, y);

            if (tile is RoomTile)
            {
                FillRoom(x, y, name, pathLayer);
            }
            else
            {
                FillArea(x, y, name, areaLayer);
            }
        }
示例#3
0
 private void ExpandRoom(int x, int y, Room room, ITileLayer pathLayer)
 {
     if (Rooms[x][y] != null)
     {
         return;
     }
     if (!(pathLayer.GetActorAt(x, y) is RoomTile))
     {
         return;
     }
     Rooms[x][y] = room;
     room.Size++;
     ExpandRoom(x + 1, y, room, pathLayer);
     ExpandRoom(x, y + 1, room, pathLayer);
     ExpandRoom(x, y - 1, room, pathLayer);
     ExpandRoom(x - 1, y, room, pathLayer);
 }
示例#4
0
        private void ExpandArea(int x, int y, string name, ITileLayer areaLayer)
        {
            if (AreaNames[x][y] != null)
            {
                return;
            }
            Tile tile = areaLayer.GetActorAt(x, y);

            if (tile is AreaBorder)
            {
                return;
            }
            AreaNames[x][y] = name;
            ExpandArea(x + 1, y, name, areaLayer);
            ExpandArea(x, y + 1, name, areaLayer);
            ExpandArea(x, y - 1, name, areaLayer);
            ExpandArea(x - 1, y, name, areaLayer);
        }
示例#5
0
 private void ExpandArea(int x, int y, string name, ITileLayer areaLayer)
 {
     if (AreaNames[x][y] != null) return;
     Tile tile = areaLayer.GetActorAt(x,y);
     if (tile is AreaBorder) return;
     AreaNames[x][y] = name;
     ExpandArea(x + 1, y, name, areaLayer);
     ExpandArea(x, y + 1, name, areaLayer);
     ExpandArea(x, y - 1, name, areaLayer);
     ExpandArea(x - 1, y, name, areaLayer);
 }
示例#6
0
 private void ExpandRoom(int x, int y, Room room, ITileLayer pathLayer)
 {
     if (Rooms[x][y] != null) return;
     if (!(pathLayer.GetActorAt(x, y) is RoomTile)) return;
     Rooms[x][y] = room;
     room.Size++;
     ExpandRoom(x + 1, y, room, pathLayer);
     ExpandRoom(x, y + 1, room, pathLayer);
     ExpandRoom(x, y - 1, room, pathLayer);
     ExpandRoom(x - 1, y, room, pathLayer);
 }