using UnityEngine; /// /// Provides methods for managing terrain groups. /// [System.Serializable] public class TerrainGroup : MonoBehaviour { /// /// The terrain group's identifier. /// public int GroupID = 0; /// /// Updates the grouping ID of the parented terrains. /// public void UpdateChildTerrains() { Terrain[] childTerrains = GetComponentsInChildren(); foreach (Terrain terrain in childTerrains) { GameObject existingGameObject = terrain.gameObject; terrain.groupingID = GroupID; } } /// /// Destroys all parented terrains. /// public void DestroyChildTerrains() { Terrain[] childTerrains = GetComponentsInChildren(); foreach (Terrain terrain in childTerrains) { GameObject existingGameObject = terrain.gameObject; DestroyImmediate(existingGameObject); } } }