IEnumerator GenerateTerrain() { StopAllCoroutines(); if (transform.childCount > 0) { if (Application.isPlaying) { for (int i = 0; transform.childCount > 0; i++) { Destroy(transform.GetChild(0).gameObject); } } else { for (int i = 0; transform.childCount > 0; i++) { DestroyImmediate(transform.GetChild(0).gameObject); } } } terrainTiles = GetComponent <TerrainTilesV2_Working> (); InitializeMeshTiles(); InitializeTerrainNoise(); terrainTileArray = terrainTiles.GenerateTerrainTiles(gameObject, "Terrain", terrainTileNumX, terrainTileNumZ); yield return(StartCoroutine(TerrainCoroutine())); }
public void GenerateTerrain() { if (terrainCoroutine != null) { StopCoroutine(terrainCoroutine); } if (!Application.isPlaying && terrainTileArray != null) { foreach (GameObject terrainTile in terrainTileArray) { if (terrainTile != null) { DestroyImmediate(terrainTile); } } } else { foreach (Transform terrainTile in transform) { Destroy(terrainTile.gameObject); } } terrainTiles = GetComponent <TerrainTilesV2_Working> (); InitializeMeshTiles(); InitializeTerrainNoise(); terrainTileArray = terrainTiles.GenerateTerrainTiles(gameObject, "Terrain", terrainTileNumX, terrainTileNumZ); terrainCoroutine = StartCoroutine(TerrainCoroutine()); }