Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }