Ejemplo n.º 1
0
    private IEnumerator <CoroutinePhase> PlayFadeout(FadePattern m_fade, Direction m_original)
    {
        SkinnedMeshRenderer m_temp = m_fade.m_meshRender.GetComponent <SkinnedMeshRenderer>();

        if (null != m_temp)
        {
            m_temp.material = m_fade.m_fadeMaterial;
        }
        else
        {
            m_fade.m_meshRender.GetComponent <MeshRenderer>().material = m_fade.m_fadeMaterial;
        }
        Color color        = m_fade.m_fadeMaterial.color;
        float m_percentage = 0f;

        color.a = Mathf.Lerp(m_fade.m_start, m_fade.m_end, m_percentage);

        while (color.a != m_fade.m_end)
        {
            m_percentage += Time.deltaTime / m_fade.m_aniTime;

            color.a = Mathf.Lerp(m_fade.m_start, m_fade.m_end, m_percentage);

            m_fade.m_fadeMaterial.color = color;

            yield return(null);
        }

        m_original.GetComponent <Direction>().m_finish = true;

        CoroutineManager.Instance.Unregister(m_coroutine);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// FadeOut을 위한 courutine실행 함수
    /// </summary>
    /// <param name="m_fade"></param>
    /// <param name="m_original"></param>
    public void PlayFadeOut(FadePattern m_fade, Direction m_original)
    {
        m_original.m_finish = false;

        m_coroutine = CoroutineManager.Instance.Register(PlayFadeout(m_fade, m_original));
    }
Ejemplo n.º 3
0
    /// <summary>
    /// FadeIn을 위한 corutine 함수
    /// </summary>
    /// <param name="m_fade"></param>
    /// <param name="m_realmat"></param>
    /// <param name="m_original"></param>
    public void PlayFadeIn(FadePattern m_fade, Material m_realmat, Direction m_original)
    {
        m_original.m_finish = false;

        m_coroutine = CoroutineManager.Instance.Register(Playfadein(m_fade, m_realmat, m_original));
    }