Example #1
0
 // Use this for initialization
 void Start()
 {
     CurrentFadeTime       = 0.0f;
     TextMeshProLink       = gameObject.GetComponent <TMPro.TextMeshProUGUI>();
     TextMeshProLink.color = new Color(TextMeshProLink.color.r, TextMeshProLink.color.g, TextMeshProLink.color.b, 0.0f);
     m_fadeState           = UIFadeState.In;
 }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        CurrentFadeTime += Time.deltaTime;

        switch (m_fadeState)
        {
        case UIFadeState.In:
            if (CurrentFadeTime > FadeTime)
            {
                CurrentFadeTime       = 0.0f;
                m_fadeState           = UIFadeState.Stay;
                TextMeshProLink.color = new Color(TextMeshProLink.color.r, TextMeshProLink.color.g, TextMeshProLink.color.b, 1.0f);
            }
            else
            {
                TextMeshProLink.color = new Color(TextMeshProLink.color.r, TextMeshProLink.color.g, TextMeshProLink.color.b, CurrentFadeTime / FadeTime);
            }
            break;

        case UIFadeState.Stay:
            if (CurrentFadeTime > FadeTime)
            {
                CurrentFadeTime = 0.0f;
                m_fadeState     = UIFadeState.Out;
            }
            break;

        case UIFadeState.Out:
            if (CurrentFadeTime > FadeTime)
            {
                CurrentFadeTime       = 0.0f;
                m_fadeState           = UIFadeState.End;
                TextMeshProLink.color = new Color(TextMeshProLink.color.r, TextMeshProLink.color.g, TextMeshProLink.color.b, 0.0f);
            }
            else
            {
                TextMeshProLink.color = new Color(TextMeshProLink.color.r, TextMeshProLink.color.g, TextMeshProLink.color.b, 1.0f - (CurrentFadeTime / FadeTime));
            }
            break;

        case UIFadeState.End:
            gameObject.SetActive(false);
            if (nextItem)
            {
                nextItem.SetActive(true);
            }
            else
            {
                SceneManager.LoadScene(nextScene);
            }
            break;
        }
    }