예제 #1
0
        public virtual void Cleanup()
        {
            Utils.LogDebug("ocean node Cleanup");

            if (oceanCameraProjectionMatModifier)
            {
                oceanCameraProjectionMatModifier.OnDestroy();
                Component.Destroy(oceanCameraProjectionMatModifier);
                UnityEngine.Object.Destroy(oceanCameraProjectionMatModifier);
            }

            if (!ReferenceEquals(oceanRefractionCommandBuffer, null))
            {
                if (!Scatterer.Instance.unifiedCameraMode)
                {
                    Scatterer.Instance.farCamera.RemoveCommandBuffer(CameraEvent.AfterForwardOpaque, oceanRefractionCommandBuffer);
                }

                Scatterer.Instance.nearCamera.RemoveCommandBuffer(CameraEvent.AfterForwardOpaque, oceanRefractionCommandBuffer);
            }

            for (int i = 0; i < numGrids; i++)
            {
                Destroy(waterGameObjects[i]);
                Component.Destroy(waterMeshFilters[i]);
                Component.Destroy(waterMeshRenderers[i]);

                UnityEngine.Object.Destroy(m_screenGrids [i]);
            }


            UnityEngine.Object.Destroy(m_oceanMaterial);
            UnityEngine.Object.Destroy(underwaterMaterial);

            if (underwaterDimmingHook)
            {
                Component.Destroy(underwaterDimmingHook);
            }

            if (!ReferenceEquals(null, underwaterProjector))
            {
                UnityEngine.Object.Destroy(underwaterProjector);
            }

            if (!ReferenceEquals(null, causticsShadowMaskModulator))
            {
                causticsShadowMaskModulator.OnDestroy();
                UnityEngine.Object.Destroy(causticsShadowMaskModulator);
            }
        }
예제 #2
0
        public virtual void Cleanup()
        {
            Utils.LogDebug("ocean node Cleanup");

            if (oceanCameraProjectionMatModifier)
            {
                oceanCameraProjectionMatModifier.OnDestroy();
                Component.Destroy(oceanCameraProjectionMatModifier);
                UnityEngine.Object.Destroy(oceanCameraProjectionMatModifier);
            }

            for (int i = 0; i < numGrids; i++)
            {
                Destroy(waterGameObjects[i]);
                Component.Destroy(waterMeshFilters[i]);
                Component.Destroy(waterMeshRenderers[i]);

                UnityEngine.Object.Destroy(m_screenGrids [i]);
            }


            UnityEngine.Object.Destroy(m_oceanMaterial);
            UnityEngine.Object.Destroy(underwaterMaterial);

            if (underwaterDimmingHook)
            {
                Component.Destroy(underwaterDimmingHook);
            }

            if (!ReferenceEquals(null, underwaterProjector))
            {
                UnityEngine.Object.Destroy(underwaterProjector);
            }

            if (!ReferenceEquals(null, causticsShadowMaskModulator))
            {
                causticsShadowMaskModulator.OnDestroy();
                UnityEngine.Object.Destroy(causticsShadowMaskModulator);
            }
        }