public void Update() { m_FadeOutRatio = Mathf.Clamp01(m_FadeOutRatio + TimeHelper.GameTime * m_FadeSpeed * (m_FadeOut ? 1.0f : -1.0f)); if (m_Callback != null) { if (m_FadeOutRatio == 1.0f && m_FadeOut) { if (m_Callback != null) { m_Callback(); m_Callback = null; } } else if (m_FadeOutRatio == 0.0f && !m_FadeOut) { if (m_Callback != null) { m_Callback(); m_Callback = null; } } } }
public void FadeOut(float duration, FadeDoneCallBack callback) { m_FadeSpeed = 1.0f / duration; m_FadeOut = true; m_Callback = callback; }