/// <summary> /// Gets the postrocess effect with the given key. /// </summary> /// <param name="namedOrGenericKey">The key of the effect.</param> /// <param name="resourceDictionary">The resource dictionary where to load the effect.</param> internal PostprocessEffectResource GetPostprocessEffect(NamedOrGenericKey namedOrGenericKey, ResourceDictionary resourceDictionary) { m_postprocessEffectKey = namedOrGenericKey; // Handle empty key if (namedOrGenericKey.IsEmpty) { m_postprocessEffect = null; return(null); } // Check for current effect object if (m_postprocessEffect != null) { // Good case, return current one if (m_postprocessEffect.Key == namedOrGenericKey) { return(m_postprocessEffect); } // Bad case, effect has changed m_postprocessEffect = null; } m_postprocessEffect = resourceDictionary.GetResourceAndEnsureLoaded <PostprocessEffectResource>(namedOrGenericKey); m_postprocessEffectKey = namedOrGenericKey; return(m_postprocessEffect); }
/// <summary> /// Unloads the resource. /// </summary> protected override void UnloadResourceInternal(EngineDevice device, ResourceDictionary resources) { m_cbPerView = null; m_postprocessEffect = null; }