private static TerrainData RemoveIsolatedOceanTiles(TerrainData data, TerrainSettings settings) { for (int x = 0; x < data.xSize; x++) { for (int z = 0; z < data.zSize; z++) { if (!data.IsOceanTile(x, z) && data.AdjacentOceanTilesCount(x, z) == 4) { Vector3 position = new Vector3(x * settings.tileSize, 0, z * settings.tileSize); data.GetTileAtCoordinates(x, z).ReplaceTile(TileType.Plains, position, Vector3.zero); } } } return(data); }