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); }
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); }
//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; } }
public AnimationCurve getCurve(AMTween.EaseType easeType) { return(m_curves[(int)easeType]); }