예제 #1
0
        public void Clear(TerrainWrapper terrainWrapper)
        {
            if (terrainWrapper.WriteObjects)
            {
                Objects.Clear();
            }
            if (terrainWrapper.WriteTrees)
            {
                Trees.Clear();
            }
            if (terrainWrapper.WriteDetails)
            {
                DetailData.Clear();
            }
            if (terrainWrapper.WriteSplats)
            {
                SplatData.Clear();
            }
            if (terrainWrapper.WriteHeights && Heights != null)
            {
                Heights.Clear();
            }

            #if VEGETATION_STUDIO
            if (terrainWrapper.WriteVegetationStudio)
            {
                VegetationStudio.Clear();
            }
            #endif
        }
예제 #2
0
 public override void Clear()
 {
     if (Heights == null)
     {
         return;
     }
     Heights.Clear();
 }
예제 #3
0
        public override void Clear(TerrainWrapper wrapper)
        {
            Dispose(wrapper, false);

            Trees.Clear();
            TreeRemovals.Clear();

            if (Heights != null)
            {
                var tRes = wrapper.Terrain.terrainData.heightmapResolution;
                if (Heights.Width == tRes && Heights.Height == tRes)
                {
                    Heights.Clear();
                }
                else
                {
                    Heights = new Serializable2DFloatArray(tRes, tRes);
                }
            }
            SplatData.Clear();

            Objects.Clear();
            ObjectRemovals.Clear();
            if (DetailData != null)
            {
                DetailData.Clear();
            }


            if (Stencil != null)
            {
                var tRes = wrapper.Terrain.terrainData.heightmapResolution;
                if (Stencil.Width == tRes && Stencil.Height == tRes)
                {
                    Stencil.Clear();
                }
                else
                {
                    Stencil = new Stencil(tRes, tRes);
                }
            }

#if VEGETATION_STUDIO
            VSInstances.Clear();
            VSRemovals.Clear();
#endif

            GC.Collect();

#if UNITY_EDITOR
            UnityEditor.EditorUtility.SetDirty(this);
#endif
        }