Пример #1
0
    public string getEaseString(int codeLanguage)
    {
        string s = "";

        if (hasCustomEase())
        {
            if (codeLanguage == 0)
            {
                s += "\"easecurve\", AMTween.GenerateCurve(new float[]{";
                for (int i = 0; i < easeCurve.keys.Length; i++)
                {
                    s += easeCurve.keys[i].time.ToString() + "f, ";
                    s += easeCurve.keys[i].value.ToString() + "f, ";
                    s += easeCurve.keys[i].inTangent.ToString() + "f, ";
                    s += easeCurve.keys[i].outTangent.ToString() + "f";
                    if (i < easeCurve.keys.Length - 1)
                    {
                        s += ", ";
                    }
                }
                s += "})";
            }
            else
            {
                s += "\"easecurve\": AMTween.GenerateCurve([";
                for (int i = 0; i < easeCurve.keys.Length; i++)
                {
                    s += easeCurve.keys[i].time.ToString() + ", ";
                    s += easeCurve.keys[i].value.ToString() + ", ";
                    s += easeCurve.keys[i].inTangent.ToString() + ", ";
                    s += easeCurve.keys[i].outTangent.ToString();
                    if (i < easeCurve.keys.Length - 1)
                    {
                        s += ", ";
                    }
                }
                s += "])";
            }
        }
        else
        {
            AMTween.EaseType ease = (AMTween.EaseType)easeType;
            s += "\"easetype\", \"" + ease.ToString() + "\"";
        }
        return(s);
    }
Пример #2
0
    public AnimationCurve getCurve(AMTween.EaseType easeType)
    {
        AnimationCurve _curve = new AnimationCurve();

        switch (easeType)
        {
        case AMTween.EaseType.linear:
            _curve.AddKey(new Keyframe(0f, 0f, 1f, 1f));
            _curve.AddKey(new Keyframe(1f, 1f, 1f, 1f));
            break;

        case AMTween.EaseType.easeInQuad:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(1f, 1f, 2f, 2f));
            break;

        case AMTween.EaseType.easeOutQuad:
            _curve.AddKey(new Keyframe(0f, 0f, 2f, 2f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInOutQuad:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, 2f, 2f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInCubic:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(1f, 1f, 3f, 3f));
            break;

        case AMTween.EaseType.easeOutCubic:
            _curve.AddKey(new Keyframe(0f, 0f, 3f, 3f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInOutCubic:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, 3f, 3f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInQuart:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.5f, 0.064f, 0.5f, 0.5f));
            _curve.AddKey(new Keyframe(1f, 1f, 4f, 4f));
            break;

        case AMTween.EaseType.easeOutQuart:
            _curve.AddKey(new Keyframe(0f, 0f, 4f, 4f));
            _curve.AddKey(new Keyframe(0.5f, 0.936f, 0.5f, 0.5f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInOutQuart:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.25f, 0.032f, 0.5f, 0.5f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, 4f, 4f));
            _curve.AddKey(new Keyframe(0.75f, 0.968f, 0.5f, 0.5f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInQuint:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.2f, 0f, 0.033f, 0.033f));
            _curve.AddKey(new Keyframe(0.6f, 0.077f, 0.65f, 0.65f));
            _curve.AddKey(new Keyframe(1f, 1f, 5f, 5f));
            break;

        case AMTween.EaseType.easeOutQuint:
            _curve.AddKey(new Keyframe(0f, 0f, 5f, 5f));
            _curve.AddKey(new Keyframe(0.4f, 0.92f, 0.65f, 0.65f));
            _curve.AddKey(new Keyframe(0.8f, 1f, 0.033f, 0.033f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInOutQuint:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.1f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.3f, 0.04f, 0.65f, 0.65f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, 5f, 5f));
            _curve.AddKey(new Keyframe(0.7f, 0.96f, 0.65f, 0.65f));
            _curve.AddKey(new Keyframe(0.9f, 1f, 0f, 0f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInSine:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.5f, 0.292f, 1.11f, 1.11f));
            _curve.AddKey(new Keyframe(1f, 1f, 1.56f, 1.56f));
            break;

        case AMTween.EaseType.easeOutSine:
            _curve.AddKey(new Keyframe(0f, 0f, 1.56f, 1.56f));
            _curve.AddKey(new Keyframe(0.5f, 0.708f, 1.11f, 1.11f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInOutSine:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.25f, 0.145f, 1.1f, 1.1f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, 1.6f, 1.6f));
            _curve.AddKey(new Keyframe(0.75f, 0.853f, 1.1f, 1.1f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInExpo:
            _curve.AddKey(new Keyframe(0f, 0f, 0.031f, 0.031f));
            _curve.AddKey(new Keyframe(0.5f, 0.031f, 0.214f, 0.214f));
            _curve.AddKey(new Keyframe(0.8f, 0.249f, 1.682f, 1.682f));
            _curve.AddKey(new Keyframe(1f, 1f, 6.8f, 6.8f));
            break;

        case AMTween.EaseType.easeOutExpo:
            _curve.AddKey(new Keyframe(0f, 0f, 6.8f, 6.8f));
            _curve.AddKey(new Keyframe(0.2f, 0.751f, 1.682f, 1.682f));
            _curve.AddKey(new Keyframe(0.5f, 0.969f, 0.214f, 0.214f));
            _curve.AddKey(new Keyframe(1f, 1f, 0.031f, 0.031f));
            break;

        case AMTween.EaseType.easeInOutExpo:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.25f, 0.015f, 0.181f, 0.181f));
            _curve.AddKey(new Keyframe(0.4f, 0.125f, 1.58f, 1.58f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, 6.8f, 6.8f));
            _curve.AddKey(new Keyframe(0.6f, 0.873f, 1.682f, 1.682f));
            _curve.AddKey(new Keyframe(0.75f, 0.982f, 0.21f, 0.21f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInCirc:
            _curve.AddKey(new Keyframe(0f, 0f, 0.04f, 0.04f));
            _curve.AddKey(new Keyframe(0.6f, 0.2f, 0.76f, 0.76f));
            _curve.AddKey(new Keyframe(0.9f, 0.562f, 1.92f, 1.92f));
            _curve.AddKey(new Keyframe(0.975f, 0.78f, 4.2f, 4.2f));
            _curve.AddKey(new Keyframe(1f, 1f, 17.3f, 17.3f));
            break;

        case AMTween.EaseType.easeOutCirc:
            _curve.AddKey(new Keyframe(0f, 0f, 17.3f, 17.3f));
            _curve.AddKey(new Keyframe(0.025f, 0.22f, 4.2f, 4.2f));
            _curve.AddKey(new Keyframe(0.1f, 0.438f, 1.92f, 1.92f));
            _curve.AddKey(new Keyframe(0.4f, 0.8f, 0.76f, 0.76f));
            _curve.AddKey(new Keyframe(1f, 1f, 0.04f, 0.04f));
            break;

        case AMTween.EaseType.easeInOutCirc:
            _curve.AddKey(new Keyframe(0f, 0f, 0f, 0f));
            _curve.AddKey(new Keyframe(0.3f, 0.098f, 0.75f, 0.75f));
            _curve.AddKey(new Keyframe(0.45f, 0.281f, 1.96f, 1.96f));
            _curve.AddKey(new Keyframe(0.4875f, 0.392f, 4.4f, 4.4f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, 8.14f, 8.14f));
            _curve.AddKey(new Keyframe(0.5125f, 0.607f, 4.3f, 4.3f));
            _curve.AddKey(new Keyframe(0.55f, 0.717f, 1.94f, 1.94f));
            _curve.AddKey(new Keyframe(0.7f, 0.899f, 0.74f, 0.74f));
            _curve.AddKey(new Keyframe(1f, 1f, 0f, 0f));
            break;

        case AMTween.EaseType.easeInBounce:
            _curve.AddKey(new Keyframe(0f, 0f, 0.715f, 0.715f));
            _curve.AddKey(new Keyframe(0.091f, 0f, -0.677f, 1.365f));
            _curve.AddKey(new Keyframe(0.272f, 0f, -1.453f, 2.716f));
            _curve.AddKey(new Keyframe(0.636f, 0f, -2.775f, 5.517f));
            _curve.AddKey(new Keyframe(1f, 1f, -0.0023f, -0.0023f));
            break;

        case AMTween.EaseType.easeOutBounce:
            _curve.AddKey(new Keyframe(0f, 0f, -0.042f, -0.042f));
            _curve.AddKey(new Keyframe(0.364f, 1f, 5.414f, -2.758f));
            _curve.AddKey(new Keyframe(0.727f, 1f, 2.773f, -1.295f));
            _curve.AddKey(new Keyframe(0.909f, 1f, 1.435f, -0.675f));
            _curve.AddKey(new Keyframe(1f, 1f, 0.735f, 0.735f));
            break;

        case AMTween.EaseType.easeInOutBounce:
            _curve.AddKey(new Keyframe(0f, 0f, 0.682f, 0.682f));
            _curve.AddKey(new Keyframe(0.046f, 0f, -0.732f, 1.316f));
            _curve.AddKey(new Keyframe(0.136f, 0f, -1.568f, 2.608f));
            _curve.AddKey(new Keyframe(0.317f, 0f, -2.908f, 5.346f));
            _curve.AddKey(new Keyframe(0.5f, 0.5f, -0.061f, 0.007f));
            _curve.AddKey(new Keyframe(0.682f, 1f, 5.463f, -2.861f));
            _curve.AddKey(new Keyframe(0.864f, 1f, 2.633f, -1.258f));
            _curve.AddKey(new Keyframe(0.955f, 1f, 1.488f, -0.634f));
            _curve.AddKey(new Keyframe(1f, 1f, 0.804f, 0.804f));
            break;

        case AMTween.EaseType.easeInBack:
            _curve.AddKey(new Keyframe(0.00f, 0.00f, 0.00f, 0.00f));
            _curve.AddKey(new Keyframe(1.00f, 1.00f, 4.71f, 4.71f));
            break;

        case AMTween.EaseType.easeOutBack:
            _curve.AddKey(new Keyframe(0.00f, 0.00f, 4.71f, 4.71f));
            _curve.AddKey(new Keyframe(1.00f, 1.00f, 0.00f, 0.00f));
            break;

        case AMTween.EaseType.easeInOutBack:
            _curve.AddKey(new Keyframe(0.00f, 0.00f, 0.00f, 0.00f));
            _curve.AddKey(new Keyframe(0.50f, 0.50f, 5.61f, 5.61f));
            _curve.AddKey(new Keyframe(1.00f, 1.00f, 0.00f, 0.00f));
            break;

        case AMTween.EaseType.easeInElastic:
            _curve.AddKey(new Keyframe(0.00f, 0.00f, 0.00f, 0.00f));
            _curve.AddKey(new Keyframe(0.15f, 0.00f, -0.04f, -0.04f));
            _curve.AddKey(new Keyframe(0.30f, -0.005f, 0.04f, 0.04f));
            _curve.AddKey(new Keyframe(0.42f, 0.02f, -0.07f, -0.07f));
            _curve.AddKey(new Keyframe(0.58f, -0.04f, 0.15f, 0.15f));
            _curve.AddKey(new Keyframe(0.72f, 0.13f, 0.20f, 0.20f));
            _curve.AddKey(new Keyframe(0.80f, -0.13f, -5.33f, -5.33f));
            _curve.AddKey(new Keyframe(0.868f, -0.375f, 0.14f, 0.14f));
            _curve.AddKey(new Keyframe(0.92f, -0.05f, 11.32f, 11.32f));
            _curve.AddKey(new Keyframe(1.00f, 1.00f, 7.50f, 7.50f));
            break;

        case AMTween.EaseType.easeOutElastic:
            _curve.AddKey(new Keyframe(0.000f, 0.00f, 6.56f, 6.56f));
            _curve.AddKey(new Keyframe(0.079f, 1.06f, 11.22f, 11.22f));
            _curve.AddKey(new Keyframe(0.134f, 1.38f, 0.03f, 0.03f));
            _curve.AddKey(new Keyframe(0.204f, 1.10f, -5.24f, -5.24f));
            _curve.AddKey(new Keyframe(0.289f, 0.87f, 0.65f, 0.65f));
            _curve.AddKey(new Keyframe(0.424f, 1.05f, 0.13f, 0.13f));
            _curve.AddKey(new Keyframe(0.589f, 0.98f, 0.12f, 0.12f));
            _curve.AddKey(new Keyframe(0.696f, 1.00f, 0.07f, 0.07f));
            _curve.AddKey(new Keyframe(0.898f, 1.00f, 0.00f, 0.00f));
            _curve.AddKey(new Keyframe(1.000f, 1.00f, 0.00f, 0.00f));
            break;

        case AMTween.EaseType.easeInOutElastic:
            _curve.AddKey(new Keyframe(0.000f, 0.00f, 0.00f, 0.00f));
            _curve.AddKey(new Keyframe(0.093f, 0.00f, -0.05f, -0.05f));
            _curve.AddKey(new Keyframe(0.149f, 0.00f, 0.06f, 0.06f));
            _curve.AddKey(new Keyframe(0.210f, 0.01f, -0.04f, -0.04f));
            _curve.AddKey(new Keyframe(0.295f, -0.02f, 0.31f, 0.31f));
            _curve.AddKey(new Keyframe(0.356f, 0.07f, 0.11f, 0.11f));
            _curve.AddKey(new Keyframe(0.400f, -0.06f, -5.12f, -5.12f));
            _curve.AddKey(new Keyframe(0.435f, -0.19f, 0.18f, 0.18f));
            _curve.AddKey(new Keyframe(0.463f, 0.02f, 12.44f, 12.44f));
            _curve.AddKey(new Keyframe(0.500f, 0.50f, 8.33f, 8.33f));
            _curve.AddKey(new Keyframe(0.540f, 1.03f, 12.05f, 12.05f));
            _curve.AddKey(new Keyframe(0.568f, 1.18f, 0.31f, 0.31f));
            _curve.AddKey(new Keyframe(0.604f, 1.04f, -5.03f, -5.03f));
            _curve.AddKey(new Keyframe(0.645f, 0.93f, 0.36f, 0.36f));
            _curve.AddKey(new Keyframe(0.705f, 1.02f, 0.39f, 0.39f));
            _curve.AddKey(new Keyframe(0.786f, 0.99f, -0.04f, -0.04f));
            _curve.AddKey(new Keyframe(0.848f, 1.00f, 0.04f, 0.04f));
            _curve.AddKey(new Keyframe(0.900f, 1.00f, -0.01f, -0.01f));
            _curve.AddKey(new Keyframe(1.000f, 1.00f, 0.00f, 0.00f));
            break;

        case AMTween.EaseType.spring:
            _curve.AddKey(new Keyframe(0.000f, 0.00f, 3.51f, 3.51f));
            _curve.AddKey(new Keyframe(0.367f, 0.88f, 1.79f, 1.79f));
            _curve.AddKey(new Keyframe(0.615f, 1.08f, -0.28f, -0.28f));
            _curve.AddKey(new Keyframe(0.795f, 0.97f, 0.03f, 0.03f));
            _curve.AddKey(new Keyframe(0.901f, 1.01f, 0.20f, 0.20f));
            _curve.AddKey(new Keyframe(1.000f, 1.00f, 0.00f, 0.00f));
            break;
        }
        return(_curve);
    }
Пример #3
0
    //grab and set generic, neccesary AMTween arguments:
    void RetrieveArgs()
    {
        foreach (Hashtable item in tweens) {
            if((GameObject)item["target"] == gameObject){
                tweenArguments=item;
                break;
            }
        }

        id=(string)tweenArguments["id"];
        type=(string)tweenArguments["type"];
        /* GFX47 MOD START */
        _name=(string)tweenArguments["name"];
        /* GFX47 MOD END */
        method=(string)tweenArguments["method"];

        if(tweenArguments.Contains("time")){
            time=(float)tweenArguments["time"];
        }else{
            time=Defaults.time;
        }

        //do we need to use physics, is there a rigidbody?
        if(rigidbody != null){
            physics=true;
        }

        if(tweenArguments.Contains("delay")){
            delay=(float)tweenArguments["delay"];
            if(delay < 0f) {
                runningTime = -delay;
                delay = 0f;
            }
        }else{
            delay=Defaults.delay;
        }

        if(tweenArguments.Contains("namedcolorvalue")){
            //allows namedcolorvalue to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability:
            if(tweenArguments["namedcolorvalue"].GetType() == typeof(NamedValueColor)){
                namedcolorvalue=(NamedValueColor)tweenArguments["namedcolorvalue"];
            }else{
                try {
                    namedcolorvalue=(NamedValueColor)Enum.Parse(typeof(NamedValueColor),(string)tweenArguments["namedcolorvalue"],true);
                } catch {
                    Debug.LogWarning("AMTween: Unsupported namedcolorvalue supplied! Default will be used.");
                    namedcolorvalue = AMTween.NamedValueColor._Color;
                }
            }
        }else{
            namedcolorvalue=Defaults.namedColorValue;
        }

        if(tweenArguments.Contains("looptype")){
            //allows loopType to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability:
            if(tweenArguments["looptype"].GetType() == typeof(LoopType)){
                loopType=(LoopType)tweenArguments["looptype"];
            }else{
                try {
                    loopType=(LoopType)Enum.Parse(typeof(LoopType),(string)tweenArguments["looptype"],true);
                } catch {
                    Debug.LogWarning("AMTween: Unsupported loopType supplied! Default will be used.");
                    loopType = AMTween.LoopType.none;
                }
            }
        }else{
            loopType = AMTween.LoopType.none;
        }

        if(tweenArguments.Contains("easetype")){
            //allows easeType to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability:
            if(tweenArguments["easetype"].GetType() == typeof(EaseType)){
                easeType=(EaseType)tweenArguments["easetype"];
            }else{
                try {
                    easeType=(EaseType)Enum.Parse(typeof(EaseType),(string)tweenArguments["easetype"],true);
                } catch {
                    Debug.LogWarning("AMTween: Unsupported easeType supplied! Default will be used.");
                    easeType=Defaults.easeType;
                }
            }
        }else{
            easeType=Defaults.easeType;
        }

        if(tweenArguments.Contains("easecurve") && tweenArguments["easecurve"] != null){
            if(tweenArguments["easecurve"].GetType() == typeof(AnimationCurve)){
                easeCurve=(AnimationCurve)tweenArguments["easecurve"];
            }else{
                Debug.LogWarning("AMTween: Unsupported easeCurve supplied! Default will be used.");
                easeCurve=null;
            }
        } else {
            easeCurve=null;
        }

        if(tweenArguments.Contains("space")){
            //allows space to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability:
            if(tweenArguments["space"].GetType() == typeof(Space)){
                space=(Space)tweenArguments["space"];
            }else{
                try {
                    space=(Space)Enum.Parse(typeof(Space),(string)tweenArguments["space"],true);
                } catch {
                    Debug.LogWarning("AMTween: Unsupported space supplied! Default will be used.");
                    space = Defaults.space;
                }
            }
        }else{
            space = Defaults.space;
        }

        if(tweenArguments.Contains("islocal")){
            isLocal = (bool)tweenArguments["islocal"];
        }else{
            isLocal = Defaults.isLocal;
        }

        // Added by PressPlay
        if (tweenArguments.Contains("ignoretimescale"))
        {
            useRealTime = (bool)tweenArguments["ignoretimescale"];
        }
        else
        {
            useRealTime = Defaults.useRealTime;
        }

        //instantiates a cached ease equation reference:
        GetEasingFunction();

        // set starting runningtime
        if(tweenArguments.Contains("runningtime")) {
            runningTime = (float)tweenArguments["runningtime"];
        }

        if(tweenArguments.Contains("disable") && (bool)tweenArguments["disable"] == true) {
            disabledTweens.Add(this);
            this.enabled = false;
        }
    }
Пример #4
0
 public AnimationCurve getCurve(AMTween.EaseType easeType)
 {
     return(m_curves[(int)easeType]);
 }