public void DestroyAllChunks() { PWWorker.StopAllWorkers(WorkerGenerationId); if (terrainStorage == null) { return; } terrainStorage.Foreach((pos, terrainData, userData) => { OnChunkDestroy(terrainData, userData, (Vector3)pos); }); terrainStorage.Clear(); }
public void DestroyAllChunks() { Debug.Log("Destroying all chunks"); PWWorker.StopAllWorkers(WorkerGenerationId); if (terrainStorage == null) { return; } terrainStorage.Foreach((pos, terrainData, userData) => { OnChunkDestroyGeneric(terrainData, userData, (Vector3)pos); }); terrainStorage.Clear(); //manually cleanup remaining GOs: while (terrainRoot.transform.childCount > 0) { DestroyImmediate(terrainRoot.transform.GetChild(0).gameObject); } }