/// <summary> /// Restore the tree instance back into the terrain. /// </summary> public static void RestoreTreeInstanceToTerrain(Terrain terrain, int treeInstanceUID) { if (terrain == null || treeInstanceUID == -1 || !canRestore) { return; } uNature.Core.Terrains.UNTerrain UNTerrain = terrain.GetComponent <uNature.Core.Terrains.UNTerrain>(); if (UNTerrain == null) { return; } if (OnTreeInstanceRestored != null) { OnTreeInstanceRestored(terrain, treeInstanceUID); } terrain.terrainData.RestoreTreeInstance(treeInstanceUID, UNTerrain); }
/// <summary> /// Remove a tree instance from the terrain, /// And replace it with a Pool item. /// </summary> public static void ConvertTreeInstanceOnTerrain(Terrain terrain, int treeInstanceUID) { if (terrain == null || treeInstanceUID == -1 || !canModify) { return; } uNature.Core.Terrains.UNTerrain UNTerrain = terrain.GetComponent <uNature.Core.Terrains.UNTerrain>(); if (UNTerrain == null) { return; } if (OnTreeInstanceRemoved != null) { OnTreeInstanceRemoved(terrain, treeInstanceUID); } terrain.ConvertTreeInstance(treeInstanceUID, UNTerrain); }