Exemplo n.º 1
0
        private static float TransformReativeTime(EEaseType Type, float rt)
        {
            if (Type == EEaseType.EaseIn)
            {
                rt *= 0.5f;
            }
            else if (Type == EEaseType.EaseOut)
            {
                rt = (rt * 0.5f) + 0.5f;
            }

            return(rt);
        }
Exemplo n.º 2
0
        public static float Interpolate(EEaseType Type, float start, float end, float t01)
        {
            float delta = end - start;

            t01 = Mathf.Clamp01(t01);
            float relT = TransformReativeTime(Type, t01);
            float c    = Type != EEaseType.InOut ? 2 : 1;

            if (Type == EEaseType.EaseOut)
            {
                delta *= ((float)InOut(relT) - 0.5f) * c;
            }
            else
            {
                delta *= (float)InOut(relT) * c;
            }

            return(delta);
        }
Exemplo n.º 3
0
        public static Vector3 Interpolate(EEaseType Type, Vector3 start, Vector3 end, float t01)
        {
            Vector3 delta = end - start;

            t01 = Mathf.Clamp01(t01);
            float relT = TransformReativeTime(Type, t01);
            float c    = Type != EEaseType.InOut ? 2 : 1;

            if (Type == EEaseType.EaseOut)
            {
                delta.x *= ((float)InOut(relT) - 0.5f) * c;
                delta.y *= ((float)InOut(relT) - 0.5f) * c;
                delta.z *= ((float)InOut(relT) - 0.5f) * c;
            }
            else
            {
                delta.x *= (float)InOut(relT) * c;
                delta.y *= (float)InOut(relT) * c;
                delta.z *= (float)InOut(relT) * c;
            }

            return(delta);
        }
Exemplo n.º 4
0
    //補完を取得
    static public FEase GetEasingFunction(EEaseType easeType)
    {
        FEase ease = LINER;

        switch (easeType)
        {
        case EEaseType.InQuad:
            ease = new FEase(easeInQuad);
            break;

        case EEaseType.OutQuad:
            ease = new FEase(easeOutQuad);
            break;

        case EEaseType.InOutQuad:
            ease = new FEase(easeInOutQuad);
            break;

        case EEaseType.InCubic:
            ease = new FEase(easeInCubic);
            break;

        case EEaseType.OutCubic:
            ease = new FEase(easeOutCubic);
            break;

        case EEaseType.InOutCubic:
            ease = new FEase(easeInOutCubic);
            break;

        case EEaseType.InQuart:
            ease = new FEase(easeInQuart);
            break;

        case EEaseType.OutQuart:
            ease = new FEase(easeOutQuart);
            break;

        case EEaseType.InOutQuart:
            ease = new FEase(easeInOutQuart);
            break;

        case EEaseType.InQuint:
            ease = new FEase(easeInQuint);
            break;

        case EEaseType.OutQuint:
            ease = new FEase(easeOutQuint);
            break;

        case EEaseType.InOutQuint:
            ease = new FEase(easeInOutQuint);
            break;

        case EEaseType.InSine:
            ease = new FEase(easeInSine);
            break;

        case EEaseType.OutSine:
            ease = new FEase(easeOutSine);
            break;

        case EEaseType.InOutSine:
            ease = new FEase(easeInOutSine);
            break;

        case EEaseType.InExpo:
            ease = new FEase(easeInExpo);
            break;

        case EEaseType.OutExpo:
            ease = new FEase(easeOutExpo);
            break;

        case EEaseType.InOutExpo:
            ease = new FEase(easeInOutExpo);
            break;

        case EEaseType.InCirc:
            ease = new FEase(easeInCirc);
            break;

        case EEaseType.OutCirc:
            ease = new FEase(easeOutCirc);
            break;

        case EEaseType.InOutCirc:
            ease = new FEase(easeInOutCirc);
            break;

        case EEaseType.Linear:
            ease = new FEase(linear);
            break;

        case EEaseType.Spring:
            ease = new FEase(spring);
            break;

        case EEaseType.InBounce:
            ease = new FEase(easeInBounce);
            break;

        case EEaseType.OutBounce:
            ease = new FEase(easeOutBounce);
            break;

        case EEaseType.InOutBounce:
            ease = new FEase(easeInOutBounce);
            break;

        /* GFX47 MOD END */
        case EEaseType.InBack:
            ease = new FEase(easeInBack);
            break;

        case EEaseType.OutBack:
            ease = new FEase(easeOutBack);
            break;

        case EEaseType.InOutBack:
            ease = new FEase(easeInOutBack);
            break;

        /* GFX47 MOD START */

        /*case EaseType.elastic:
         *  ease = new EasingFunction(elastic);
         *  break;*/
        case EEaseType.InElastic:
            ease = new FEase(easeInElastic);
            break;

        case EEaseType.OutElastic:
            ease = new FEase(easeOutElastic);
            break;

        case EEaseType.InOutElastic:
            ease = new FEase(easeInOutElastic);
            break;
            /* GFX47 MOD END */
        }
        return(ease);
    }
Exemplo n.º 5
0
        public static CurveCallback EaseTypeToCallback(EEaseType easeType)
        {
            EaseCallbackProxy proxyCallback;

            switch (easeType)
            {
            case EEaseType.EaseInBack:
                proxyCallback = EaseInBack;
                break;

            case EEaseType.EaseInBounce:
                proxyCallback = EaseInBounce;
                break;

            case EEaseType.EaseInCirc:
                proxyCallback = EaseInCirc;
                break;

            case EEaseType.EaseInCubic:
                proxyCallback = EaseInCubic;
                break;

            case EEaseType.EaseInElastic:
                proxyCallback = EaseInElastic;
                break;

            case EEaseType.EaseInExpo:
                proxyCallback = EaseInExpo;
                break;

            case EEaseType.EaseInOutBack:
                proxyCallback = EaseInOutBack;
                break;

            case EEaseType.EaseInOutBounce:
                proxyCallback = EaseInOutBounce;
                break;

            case EEaseType.EaseInOutCirc:
                proxyCallback = EaseInOutCirc;
                break;

            case EEaseType.EaseInOutCubic:
                proxyCallback = EaseInOutCubic;
                break;

            case EEaseType.EaseInOutElastic:
                proxyCallback = EaseInOutElastic;
                break;

            case EEaseType.EaseInOutExpo:
                proxyCallback = EaseInOutExpo;
                break;

            case EEaseType.EaseInOutQuad:
                proxyCallback = EaseInOutQuad;
                break;

            case EEaseType.EaseInOutQuart:
                proxyCallback = EaseInOutQuart;
                break;

            case EEaseType.EaseInOutQuint:
                proxyCallback = EaseInOutQuint;
                break;

            case EEaseType.EaseInOutSine:
                proxyCallback = EaseInOutSine;
                break;

            case EEaseType.EaseInQuad:
                proxyCallback = EaseInQuad;
                break;

            case EEaseType.EaseInQuart:
                proxyCallback = EaseInQuart;
                break;

            case EEaseType.EaseInQuint:
                proxyCallback = EaseInQuint;
                break;

            case EEaseType.EaseInSine:
                proxyCallback = EaseInSine;
                break;

            case EEaseType.EaseOutBack:
                proxyCallback = EaseOutBack;
                break;

            case EEaseType.EaseOutBounce:
                proxyCallback = EaseOutBounce;
                break;

            case EEaseType.EaseOutCirc:
                proxyCallback = EaseOutCirc;
                break;

            case EEaseType.EaseOutCubic:
                proxyCallback = EaseOutCubic;
                break;

            case EEaseType.EaseOutElastic:
                proxyCallback = EaseOutElastic;
                break;

            case EEaseType.EaseOutExpo:
                proxyCallback = EaseOutExpo;
                break;

            case EEaseType.EaseOutQuad:
                proxyCallback = EaseOutQuad;
                break;

            case EEaseType.EaseOutQuart:
                proxyCallback = EaseOutQuint;
                break;

            case EEaseType.EaseOutSine:
                proxyCallback = EaseOutSine;
                break;

            case EEaseType.Linear:
                proxyCallback = Linear;
                break;

            case EEaseType.Spring:
                proxyCallback = Spring;
                break;

            case EEaseType.Constant:
                proxyCallback = Constant;
                break;

            case EEaseType.EaseOutQuint:
                proxyCallback = EaseOutQuint;
                break;

            default:
                Debug.LogErrorFormat("TofuAnimator does not implement the ease type {0}", easeType.ToString());
                proxyCallback = Constant;
                break;
            }

            return(v => proxyCallback(0, 1, v));
        }
Exemplo n.º 6
0
            public Sequence Curve(EEaseType easeType, float time, FloatValueCallback callback)
            {
                _toEnqueue.Add(new Clip(EaseTypeToCallback(easeType), time, callback));

                return(this);
            }
Exemplo n.º 7
0
 public EaseMove(Transform obj, Vector3 target, EEaseType type, float duration) : base(duration)
 {
     _targetPos = target;
     _object    = obj;
 }