public void replace_surrounding_void(Tile target_tile, bool replace_with_passables) { gridCoordinate target_grid_c = target_tile.get_grid_c(); Tile.Tile_Type tileType = target_tile.get_my_tile_type(); for (int x = Math.Max(0, target_grid_c.x - 1); x < Math.Min(target_grid_c.x + 2, current_floorsize); x++) for (int y = Math.Max(0, target_grid_c.y - 1); y < Math.Min(target_grid_c.y + 2, current_floorsize); y++) { Tile.Tile_Type target_tiletype = Tile.Tile_Type.Void; if (floorTiles[x][y].isVoid()) { if (replace_with_passables) { switch (target_tile.get_my_tile_type()) { case Tile.Tile_Type.Abyss: target_tiletype = Tile.Tile_Type.Natural_Stone_Floor; break; } } else { switch (target_tile.get_my_tile_type()) { //Dirt case Tile.Tile_Type.DirtFloor: target_tiletype = Tile.Tile_Type.DirtWall; break; case Tile.Tile_Type.Rubble_Floor: target_tiletype = Tile.Tile_Type.Rubble_Wall; break; case Tile.Tile_Type.Gravel: case Tile.Tile_Type.Deep_Water: case Tile.Tile_Type.Shallow_Water: case Tile.Tile_Type.Natural_Stone_Floor: case Tile.Tile_Type.Cavern_Entrance: case Tile.Tile_Type.Cavern_Exit: target_tiletype = Tile.Tile_Type.Natural_Stone_Wall; break; //Stone default: target_tiletype = Tile.Tile_Type.StoneWall; break; } } } if(target_tiletype != Tile.Tile_Type.Void) floorTiles[x][y].set_tile_type(target_tiletype, universal_spritesheet, dungeon_specific_spritesheet, general_texture_map); } }