Beispiel #1
0
        private void OnAfterFadeIn()
        {
            EnableCanvasGroup();

            FadeInCompleted?.Invoke();

            fadeInCoroutine = null;
        }
Beispiel #2
0
    IEnumerator FadeInRoutine(float fadeInTime, float minAlpha, float maxAlpha)
    {
        for (float elapsedTime = 0f; elapsedTime <= fadeInTime; elapsedTime += Time.deltaTime)
        {
            _canvasToFade.alpha = Mathf.Lerp(minAlpha, maxAlpha, elapsedTime / fadeInTime);
            yield return(null);
        }
        _canvasToFade.alpha = maxAlpha;

        FadeInCompleted.Invoke();
    }
Beispiel #3
0
        private IEnumerator FadeIn()
        {
            DisableCanvasGroup();

            while (Alpha < 0.99f)
            {
                Alpha += 1 * speed * Time.deltaTime;
                yield return(null);
            }

            EnableCanvasGroup();

            FadeInCompleted?.Invoke();

            fadeInCoroutine = null;
        }
        /// <summary>
        /// Manages the fadein/fadeout logic
        /// </summary>
        /// <param name="elapsed"></param>
        public void Update(TimeSpan elapsed)
        {
            switch (_currentFadeState)
            {
            case FadeState.FadeIn:

                _elapsed += elapsed;

                if (_elapsed >= _fadeDuration)
                {
                    _currentFadeState = FadeState.Static;
                    CurrentAlpha      = 1f;
                    OverlayColor      = _originalColor.WithAlpha(CurrentAlpha);
                    FadeInCompleted?.Invoke(this, EventArgs.Empty);
                }
                else
                {
                    CurrentAlpha = (float)(_elapsed.TotalSeconds / _fadeDuration.TotalSeconds);
                    OverlayColor = _originalColor.WithAlpha(CurrentAlpha);
                }

                break;

            case FadeState.FadeOut:

                _elapsed += elapsed;

                if (_elapsed >= _fadeDuration)
                {
                    _currentFadeState = FadeState.Static;
                    CurrentAlpha      = 0f;
                    OverlayColor      = _originalColor.WithAlpha(CurrentAlpha);
                    FadeOutCompleted?.Invoke(this, EventArgs.Empty);
                }
                else
                {
                    CurrentAlpha = 1f - ((float)(_elapsed.TotalSeconds / _fadeDuration.TotalSeconds));
                    OverlayColor = _originalColor.WithAlpha(CurrentAlpha);
                }

                break;
            }
        }
Beispiel #5
0
 private void OnFadeInCompleted()
 {
     FadeInCompleted?.Invoke();
 }