public void FadeIn(FadeFinished fadeFinished = null, string fadeFinishedMsg = null)
    {
#if UNITY_STANDALONE || UNITY_EDITOR
        if (fadeFinished != null)
        {
            fadeFinished(fadeFinishedMsg);
        }
#else
        StartCoroutine(Fade(1, 0, fadeFinished, fadeFinishedMsg));
#endif
    }
Beispiel #2
0
    void Awake()
    {
        OnFadeFinished += SetDefaultFadeOut;

        FadeOutPanel = gameObject.GetComponentInChildren <Image>();
        SetDefaultFadeOut();
        progress = 1;

        if (FadeInOnAwake)
        {
            StartFadeIn(fadeDuration);
        }
    }
 /// <summary>
 /// 定时器事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void _timer_Tick(object sender, EventArgs e)
 {
     if (_direction == FadeDirection.FadeIn)
     {
         _opacity += _opacitystep;
         if (_opacity <= _endopacity)
         {
             _parentform.Opacity = _opacity / 100.0;
         }
         else
         {
             _opacity            = _endopacity;
             _parentform.Opacity = _opacity / 100.0;
             _timer.Stop();
             _timer.Enabled = false;
             if (FadeFinished != null)
             {
                 FadeFinished.Invoke(this, new FadeFinishedEventArgs()
                 {
                     Direct = FadeDirection.FadeIn
                 });
             }
         }
     }
     else
     {
         _opacity -= _opacitystep;
         if (_opacity >= _startopacity)
         {
             _parentform.Opacity = _opacity / 100.0;
         }
         else
         {
             _opacity            = 0;
             _parentform.Opacity = _opacity / 100.0;
             if (FadeFinished != null)
             {
                 FadeFinished.Invoke(this, new FadeFinishedEventArgs()
                 {
                     Direct = FadeDirection.FadeOut
                 });
             }
             _parentform.Close();
         }
     }
 }
    /// <summary>
    /// Fades alpha from 1.0 to 0.0
    /// </summary>
    IEnumerator Fade(float startAlpha, float endAlpha, FadeFinished fadeFinished = null, string fadeFinishedMsg = null)
    {
        float elapsedTime = 0.0f;

        while (elapsedTime < fadeTime)
        {
            elapsedTime += Time.deltaTime;
            currentAlpha = Mathf.Lerp(startAlpha, endAlpha, Mathf.Clamp01(elapsedTime / fadeTime));
            SetMaterialAlpha();
            yield return(new WaitForEndOfFrame());
        }
        if (fadeFinished != null)
        {
            yield return(new WaitForEndOfFrame());

            fadeFinished(fadeFinishedMsg);
        }
    }