void OcclusFadingFinish(Effect.SceneFadeInOutMaterialFloat instance) { if (!GoablEnabledOcclusCulling) { return; } CollectFadingMaterial(m_ActiveFadeSceneResTable[instance]); m_ActiveFadeSceneResTable[instance].occlusFadingOut = false; m_ActiveFadeSceneResTable[instance].occlusFadingIn = false; m_ActiveFadeSceneResTable[instance].occlusFadInstance = null; m_ActiveFadeSceneResTable.Remove(instance); m_UnActiveOcclusFadeFadeInOutFloatList.Enqueue(instance); instance.enabled = false; instance.ClearMaterialInstance(); instance.ClearFinishEvent(); }
Effect.SceneFadeInOutMaterialFloat GetFadeInstance(SceneResInfo res) { if (!GoablEnabledOcclusCulling) { return(null); } Effect.SceneFadeInOutMaterialFloat ef = null; if (m_UnActiveOcclusFadeFadeInOutFloatList.Count > 0) { ef = m_UnActiveOcclusFadeFadeInOutFloatList.Dequeue(); } else { ef = CreateNewFadeInstance(); } res.occlusFadInstance = ef; ef.ClearFinishEvent(); ef.RegisterFinishEvent(OcclusFadingFinish); ef.RegisterFinishEvent(res.OnFadeFinish); m_ActiveFadeSceneResTable.Add(ef, res); return(ef); }