Пример #1
0
        void Update()
        {
            if (State == UICanvasGroupFader.FaderState.FadingIn)
            {
                _transition += Time.deltaTime / TransitionTime;

                if (_transition > 1)
                {
                    _transition = 1;
                    State       = UICanvasGroupFader.FaderState.FadedIn;
                    StateChanged?.Invoke(UICanvasGroupFader.FaderState.FadedIn);
                }

                Image.color = Color.LerpUnclamped(_start, _end, AnimationCurve.Evaluate(_transition));
            }

            if (State == UICanvasGroupFader.FaderState.FadingOut)
            {
                _transition += Time.deltaTime / TransitionTime;

                if (_transition > 1)
                {
                    _transition = 1;
                    State       = UICanvasGroupFader.FaderState.FadedOut;
                    StateChanged?.Invoke(UICanvasGroupFader.FaderState.FadedOut);
                }

                Image.color = Color.LerpUnclamped(_start, _end, 1 - AnimationCurve.Evaluate(1 - _transition));
            }
        }
Пример #2
0
 public void FadeInFromScreenUv(float x, float y)
 {
     _start      = new Color(x, y, 0);
     _end        = new Color(x, y, 1f);
     _transition = 0;
     State       = UICanvasGroupFader.FaderState.FadingIn;
     StateChanged?.Invoke(UICanvasGroupFader.FaderState.FadingIn);
 }
Пример #3
0
 private void FadeOutFromScreenUv(float x, float y)
 {
     _start      = new Color(x, y, 1f);
     _end        = new Color(x, y, 0f);
     _transition = 0;
     State       = UICanvasGroupFader.FaderState.FadingOut;
     StateChanged?.Invoke(UICanvasGroupFader.FaderState.FadingOut);
 }
Пример #4
0
 private void Awake()
 {
     State = Initial;
 }