private ABAnimationTiming timingModeChooser(ABAnimationTiming currentTiming)
        {
            int index = (int)currentTiming;

            index = EditorGUILayout.Popup("Timing Mode", index, ABAnimationTimingHelper.TimingDescriptions());
            return((ABAnimationTiming)index);
        }
Пример #2
0
        private static void RunFadeOutAnimation(GameObject obj, float duration, ABAnimationTiming timing = ABAnimationTiming.Linear, Action onComplete = null)
        {
            var d = LeanTween.alpha(obj, 0, duration);

            d.setEase(leanTweenEaseType(timing));
            d.setOnComplete(onComplete);
        }
Пример #3
0
        private static LeanTweenType leanTweenEaseType(ABAnimationTiming timing)
        {
            switch (timing)
            {
            case ABAnimationTiming.EaseIn:
                return(LeanTweenType.easeInSine);

            case ABAnimationTiming.EaseOut:
                return(LeanTweenType.easeOutSine);

            case ABAnimationTiming.EaseInEaseOut:
                return(LeanTweenType.easeInOutSine);

            default:
                return(LeanTweenType.linear);
            }
        }
Пример #4
0
 public static string TimingDescription(ABAnimationTiming timing)
 {
     return(Enum.GetName(typeof(ABAnimationTiming), timing));
 }
Пример #5
0
 public static int IndexOfAnimationTiming(ABAnimationTiming timing)
 {
     return((int)timing);
 }
Пример #6
0
        private static void RunFadeAlphaToAnimation(GameObject obj, float newAlpha, float duration, ABAnimationTiming timing = ABAnimationTiming.Linear, Action onComplete = null)
        {
            newAlpha = Mathf.Max(Mathf.Min(newAlpha, 1), 0);

            var d = LeanTween.alpha(obj, newAlpha, duration);

            d.setEase(leanTweenEaseType(timing));
            d.setOnComplete(onComplete);
        }
Пример #7
0
        private static void RunFadeAlphaByAnimation(GameObject obj, float delta, float duration, ABAnimationTiming timing = ABAnimationTiming.Linear, Action onComplete = null, int loopsCount = 1)
        {
            var renderer = obj.GetComponent <Renderer> ();

            if (renderer == null)
            {
                Debug.LogError("Game Object has no renderer to fade");
                return;
            }

            var currentAlpha = renderer.material.color.a;
            var newAlpha     = Mathf.Max(Mathf.Min(currentAlpha + delta, 1), 0);

            var d = LeanTween.alpha(obj, newAlpha, duration);

            d.setEase(leanTweenEaseType(timing));

            if (loopsCount > 1)
            {
                d.setOnComplete(() => RunFadeAlphaByAnimation(obj, delta, duration, timing, onComplete, loopsCount - 1));
            }
            else if (loopsCount == ABAnimation.RepeatForever)
            {
                d.setOnComplete(() => RunFadeAlphaByAnimation(obj, delta, duration, timing, onComplete, loopsCount));
            }
            else if (loopsCount == 1)
            {
                d.setOnComplete(onComplete);
            }
        }
Пример #8
0
        private static void RunScaleByAnimation(GameObject obj, Vector3 delta, float duration, ABAnimationTiming timing = ABAnimationTiming.Linear, Action onComplete = null, int loopsCount = 1)
        {
            var newScale = obj.transform.localScale + delta;

            if (loopsCount > 1)
            {
                RunScaleToAnimation(obj, newScale, duration, timing, () => RunScaleByAnimation(obj, delta, duration, timing, onComplete, loopsCount - 1));
            }
            else if (loopsCount == ABAnimation.RepeatForever)
            {
                RunScaleToAnimation(obj, newScale, duration, timing, () => RunScaleByAnimation(obj, delta, duration, timing, onComplete, loopsCount));
            }
            else if (loopsCount == 1)
            {
                RunScaleToAnimation(obj, newScale, duration, timing, onComplete);
            }
        }
Пример #9
0
        private static void RunScaleToAnimation(GameObject obj, Vector3 newScale, float duration, ABAnimationTiming timing = ABAnimationTiming.Linear, Action onComplete = null)
        {
            var d = LeanTween.scale(obj, newScale, duration);

            d.setEase(leanTweenEaseType(timing));
            d.setOnComplete(onComplete);
        }
Пример #10
0
        private static void RunRotateByAnimation(GameObject obj, Vector3 delta, float duration, ABAnimationTiming timing = ABAnimationTiming.Linear, Action onComplete = null, int loopsCount = 1)
        {
            var d = LeanTween.rotateAround(obj, delta.normalized, delta.magnitude, duration);

            d.setEase(leanTweenEaseType(timing));

            if (loopsCount > 1)
            {
                d.setOnComplete(() => RunRotateByAnimation(obj, delta, duration, timing, onComplete, loopsCount - 1));
            }
            else if (loopsCount == ABAnimation.RepeatForever)
            {
                d.setOnComplete(() => RunRotateByAnimation(obj, delta, duration, timing, onComplete, loopsCount));
            }
            else if (loopsCount == 1)
            {
                d.setOnComplete(onComplete);
            }
        }