private void OnAfterFadeIn() { EnableCanvasGroup(); FadeInCompleted?.Invoke(); fadeInCoroutine = null; }
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(); }
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; } }
private void OnFadeInCompleted() { FadeInCompleted?.Invoke(); }