private IEnumerator Transition(float time, bool FadeIn, Action callback = null) { m_state = CameraTransitionState.TRANSITIONING; float totalTime = 0f; float t = 0f; float alpha = 0f; do { totalTime += Time.deltaTime; t = totalTime / time; alpha = (FadeIn) ? Mathf.Lerp(0, 1, t) : Mathf.Lerp(1, 0, t); SetBackgroundAlpha(alpha); yield return(null); } while (t < 1f); m_state = (FadeIn) ? CameraTransitionState.IDLE_IN : CameraTransitionState.IDLE_OUT; callback?.Invoke(); }
private void SetTransitionValues(float Time, bool CheckBool, bool fadeIn, Action callback = null) { if (!CheckCanTransition(CheckBool)) { return; } m_transitionTime = Time; m_callback = callback; m_fadingIn = fadeIn; m_totalTime = 0f; m_state = CameraTransitionState.TRANSITIONING; }
private void TransitionCamera() { m_totalTime += deltaTime; m_alpha = (m_fadingIn) ? Lerp(0, 1, m_totalTime / m_transitionTime) : Lerp(1, 0, m_totalTime / m_transitionTime); SetBackgroundAlpha(); if (m_totalTime / m_transitionTime >= 1f) { m_state = (m_fadingIn) ? CameraTransitionState.IDLE_IN : CameraTransitionState.IDLE_OUT; m_callback?.Invoke(); } }