Exemple #1
0
 void AddIfAvailable(Tile floorSpace, MapRegion region, Tile activeSpace)
 {
     if (floorSpace == null)
     {
         return;
     }
     if (floorSpace.SpaceType == activeSpace.SpaceType && floorSpace.Parent == null)
     {
         floorSpace.Parent = region;
         AddAdjacentSpaces(region, floorSpace);
     }
 }
Exemple #2
0
        void AddAdjacentSpaces(MapRegion region, Tile activeSpace)
        {
            region.AddTile(activeSpace);

            Tile left = GetFloorSpace(activeSpace.Column - 1, activeSpace.Row);

            AddIfAvailable(left, region, activeSpace);

            Tile top = GetFloorSpace(activeSpace.Column, activeSpace.Row - 1);

            AddIfAvailable(top, region, activeSpace);

            Tile right = GetFloorSpace(activeSpace.Column + 1, activeSpace.Row);

            AddIfAvailable(right, region, activeSpace);

            Tile bottom = GetFloorSpace(activeSpace.Column, activeSpace.Row + 1);

            AddIfAvailable(bottom, region, activeSpace);
        }
Exemple #3
0
 void AddSpaceToRegion(MapRegion region, Tile activeSpace)
 {
     activeSpace.Parent = region;
     AddAdjacentSpaces(region, activeSpace);
 }