コード例 #1
0
 public static void Dispose()
 {
     singletonReady = false;
     PipelineFunctions.Dispose(baseBuffer);
     pointerContainer.Dispose();
     commandQueue = null;
     commonData.avaiableProperties.Dispose();
     commonData.avaiableTexs.Dispose();
     commonData.avaiableLightmap.Dispose();
     commonData.texCopyBuffer.Dispose();
     commonData.lightmapCopyBuffer.Dispose();
     commonData.propertyBuffer.Dispose();
     commonData.texDict.Clear();
     commonData.lightmapDict.Clear();
     commonData.terrainDrawStreaming.Dispose();
     UnityEngine.Object.DestroyImmediate(commonData.terrainMaterial);
     UnityEngine.Object.DestroyImmediate(commonData.terrainMaterial);
     UnityEngine.Object.DestroyImmediate(commonData.lightmapArray);
     UnityEngine.Object.DestroyImmediate(commonData.texArray);
     addList.Dispose();
     foreach (var i in commonData.allTempBuffers.Values)
     {
         i.Dispose();
     }
 }
コード例 #2
0
 private void OnDestroy()
 {
     if (current != this)
     {
         return;
     }
     current     = nullValue;
     initialized = false;
     PipelineFunctions.Dispose(baseBuffer);
     SceneStreaming.pointerContainer.Dispose();
     SceneStreaming.commandQueue = null;
 }
コード例 #3
0
        public static void Dispose()
        {
            singletonReady = false;
            PipelineFunctions.Dispose(baseBuffer);

            addList.Dispose();
            var values = allTempBuffers.Values;

            foreach (var i in values)
            {
                i.Dispose();
            }
        }
コード例 #4
0
        public static void Dispose(PipelineResources res)
        {
            singletonReady = false;
            PipelineFunctions.Dispose(baseBuffer);
            if (Application.isPlaying && res.clusterResources)
            {
                res.clusterResources.Dispose();
            }
            addList.Dispose();
            var values = allTempBuffers.Values;

            foreach (var i in values)
            {
                i.Dispose();
            }
        }
コード例 #5
0
 private void OnDestroy()
 {
     if (singleton != this)
     {
         return;
     }
     singleton = null;
     PipelineFunctions.Dispose(ref data.baseBuffer);
     foreach (var i in allEvents)
     {
         i.DisposeEvent();
     }
     allEvents = null;
     data.buffer.Dispose();
     SceneStreaming.pointerContainer.Dispose();
     SceneStreaming.commandQueue = null;
 }
コード例 #6
0
 public static void Dispose()
 {
     singletonReady = false;
     PipelineFunctions.Dispose(baseBuffer);
     pointerContainer.Dispose();
     commandQueue = null;
     commonData.avaiableProperties.Dispose();
     commonData.avaiableTexs.Dispose();
     commonData.texCopyBuffer.Dispose();
     commonData.propertyBuffer.Dispose();
     commonData.texDict.Clear();
     commonData.texArray.Release();
     commonData.terrainDrawStreaming.Dispose();
     UnityEngine.Object.DestroyImmediate(commonData.terrainMaterial);
     UnityEngine.Object.DestroyImmediate(commonData.copyTextureMat);
     addList.Dispose();
 }
コード例 #7
0
 public static void Dispose(PipelineResources res)
 {
     singletonReady = false;
     PipelineFunctions.Dispose(baseBuffer);
     if (Application.isPlaying && res.clusterResources)
     {
         res.clusterResources.Dispose();
     }
     addList.Dispose();
     if (allTempBuffers.isCreated)
     {
         foreach (var i in allTempBuffers)
         {
             ComputeBuffer bf = MUnsafeUtility.GetHookedObject(i.value) as ComputeBuffer;
             bf.Dispose();
         }
     }
 }
コード例 #8
0
 public void DisposeScene()
 {
     PipelineFunctions.Dispose(ref data.baseBuffer);
 }