public void ClearRender()
        {
            foreach (KeyValuePair <Renderer, HashSet <GlowRenderInfo> > re in m_DissloveGlowRenderTable)
            {
                re.Value.Clear();
            }
            foreach (GlowRenderInfo re in m_RenderInfoList)
            {
                re.hostRender = null;
                DestroyImmediate(re.InstanceMaterial);
            }
            foreach (GlowMeshInfo re in m_MeshInfoList)
            {
                DestroyImmediate(re.InstanceMaterial);
            }

            foreach (Material re in DissloveOpaqueGlowMaterialInstanceCacheList)
            {
                DestroyImmediate(re);
            }

            foreach (Material re in DissloveAlphaGlowMaterialInstanceCacheList)
            {
                DestroyImmediate(re);
            }

            if (Application.isPlaying)
            {
                DestroyImmediate(GlowDissloveOpaqueMaterial);
                DestroyImmediate(GlowDissloveAlphaMaterial);
                DestroyImmediate(DefaultDissolveGlowMaterial);
            }

            DissloveOpaqueGlowMaterialInstanceCacheList.Clear();
            DissloveAlphaGlowMaterialInstanceCacheList.Clear();
            m_MeshInfoList.Clear();
            m_CommandBuffer = null;
            m_DissloveGlowRenderTable.Clear();
            m_RenderInfoList.Clear();
            Orginal_DissloveGlowMatTable.Clear();
            Orginal_DissloveGlowMatRefCountTable.Clear();
            ImageEffectManager.API_UnResigiterFoucusChage(HostCamera, OnFocusChange);
        }
Esempio n. 2
0
        public void ClearRender()
        {
            foreach (KeyValuePair <Renderer, HashSet <GlowRenderInfo> > re in m_OutLineRenderTable)
            {
                re.Value.Clear();
            }

            foreach (GlowRenderInfo re in m_RenderInfoList)
            {
                re.hostRender = null;
                DestroyImmediate(re.InstanceMaterial);
            }
            foreach (GlowMeshInfo re in m_MeshInfoList)
            {
                DestroyImmediate(re.InstanceMaterial);
            }

            foreach (Material re in GlowOutLineMaterialInstanceCacheList)
            {
                DestroyImmediate(re);
            }

            foreach (Material mat in ScriptMaterialCacheList)
            {
                DestroyImmediate(mat);
            }

            if (Application.isPlaying)
            {
                DestroyImmediate(GlowOutLineMaterial);
            }


            m_CommandBuffer = null;
            ScriptMaterialCacheList.Clear();
            GlowOutLineMaterialInstanceCacheList.Clear();
            m_OutLineRenderTable.Clear();
            m_RenderInfoList.Clear();
            m_MeshInfoList.Clear();
            Orginal_GlowOutLineMatTable.Clear();
            Orginal_GlowOutLineMatRefCountTable.Clear();
            ImageEffectManager.API_UnResigiterFoucusChage(HostCamera, OnFocusChange);
        }