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); }
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); }