///<summary> Ask to fade in and out the black screen </summary> private void AskToFade(eSceneM_FadeDir aDir) { StopAllCoroutines(); m_FadeIsDone = false; m_FadeDir = aDir; m_FadeScreenColor = m_CurrentSceneData.GetFadeColor(); StartCoroutine(FadeScreen(m_FadeDir)); }
///<summary> Update the black Screen Color (fade in and out) </summary> private IEnumerator FadeScreen(eSceneM_FadeDir aDir) { if (!m_FadeIsDone) { switch (aDir) { case eSceneM_FadeDir.FadeIn: { m_FadeScreenColor.a = 0.0f; while (m_FadeScreenColor.a < 1) { m_FadeScreenColor.a += 0.02f; m_FadeScreenImg.color = m_FadeScreenColor; yield return(new WaitForSeconds(0.01f)); } m_FadeIsDone = true; break; } case eSceneM_FadeDir.FadeOut: { m_FadeScreenColor.a = 1.0f; while (m_FadeScreenColor.a > 0) { m_FadeScreenColor.a -= 0.02f; m_FadeScreenImg.color = m_FadeScreenColor; yield return(new WaitForSeconds(0.01f)); } m_FadeIsDone = true; break; } } } else if (LoadingIsOver) { m_FadeScreenColor.a = 0.0f; m_FadeScreenImg.color = m_FadeScreenColor; } }