예제 #1
0
 ///<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));
 }
예제 #2
0
        ///<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;
            }
        }