Example #1
0
    private static IEnumerator SlideToRoutine(SlideUITransition uITransition)
    {
        float   currentTime   = 0f;
        Vector3 startPosition = uITransition.RectTransform.localPosition;

        if (uITransition.withDisableTouch)
        {
            EventSystem.SetActive(false);
        }

        while (currentTime < 1f)
        {
            uITransition.RectTransform.localPosition = Vector3.Lerp(startPosition, uITransition.EndPosition, uITransition.Curve.Evaluate(currentTime));
            currentTime += Time.deltaTime / uITransition.TransitionTime;
            yield return(null);
        }

        uITransition.RectTransform.localPosition = uITransition.EndPosition;

        if (uITransition.withDisableTouch)
        {
            EventSystem.SetActive(true);
        }

        uITransition.OnDone?.Invoke();
    }
Example #2
0
 public static void SlideTo(SlideUITransition uITransition) =>
 Instance.StartCoroutine(SlideToRoutine(uITransition));