/// <summary> /// Function that clears any fade drawn to the screen. /// </summary> public void ClearFade() { _fadeAlpha = 0; _fadeType = FadeScreenType.NONE; }
/// @cond #endif public static void FadeScreen(FadeScreenType p_fadeType, float p_duration, EaseType p_curve, bool p_useDeltaTime, Action p_callback) { ScreenCore.instance.StartFadeScreen(p_fadeType, p_duration, p_curve, p_useDeltaTime, p_callback); }
/// <summary> /// Function that starts a custom tween fade to be drawn on the screen. Remember to clear it on the callback or call another fade to do it. /// </summary> public void StartFadeScreen(FadeScreenType p_fadeType, float p_duration, EaseType p_curve, bool p_useDeltaTime, Action p_callback) { if (p_duration == 0) { _fadeType = p_fadeType; switch (_fadeType) { case FadeScreenType.FADE_IN_BLACK: _fadeAlpha = 0f; _fadeTexture = Texture2D.blackTexture; break; case FadeScreenType.FADE_IN_WHITE: _fadeAlpha = 0f; _fadeTexture = Texture2D.whiteTexture; break; case FadeScreenType.FADE_OUT_BLACK: _fadeAlpha = 1f; _fadeTexture = Texture2D.blackTexture; break; case FadeScreenType.FADE_OUT_WHITE: _fadeAlpha = 1f; _fadeTexture = Texture2D.whiteTexture; break; default: break; } } else { if (_isFading) { _callback?.Invoke(); } _timeStep = 0; _fadeType = p_fadeType; _duration = p_duration; _curve = p_curve; _useDeltaTime = p_useDeltaTime; _callback = p_callback; _isFading = true; switch (_fadeType) { case FadeScreenType.FADE_IN_BLACK: _startAlpha = 1f; _finalAlpha = 0f; _fadeTexture = Texture2D.blackTexture; break; case FadeScreenType.FADE_IN_WHITE: _startAlpha = 1f; _finalAlpha = 0f; _fadeTexture = Texture2D.whiteTexture; break; case FadeScreenType.FADE_OUT_BLACK: _startAlpha = 0f; _finalAlpha = 1f; _fadeTexture = Texture2D.blackTexture; break; case FadeScreenType.FADE_OUT_WHITE: _startAlpha = 0f; _finalAlpha = 1f; _fadeTexture = Texture2D.whiteTexture; break; default: break; } _fadeAlpha = _startAlpha; } }