using UnityEngine;
|
|
using System.Collections;
|
|
using System.Reflection;
|
|
using DentedPixel;
|
|
|
|
public class GeneralEasingTypes : MonoBehaviour {
|
|
|
|
public float lineDrawScale = 10f;
|
|
public AnimationCurve animationCurve;
|
|
|
|
private string[] easeTypes = new string[]{
|
|
"EaseLinear","EaseAnimationCurve","EaseSpring",
|
|
"EaseInQuad","EaseOutQuad","EaseInOutQuad",
|
|
"EaseInCubic","EaseOutCubic","EaseInOutCubic",
|
|
"EaseInQuart","EaseOutQuart","EaseInOutQuart",
|
|
"EaseInQuint","EaseOutQuint","EaseInOutQuint",
|
|
"EaseInSine","EaseOutSine","EaseInOutSine",
|
|
"EaseInExpo","EaseOutExpo","EaseInOutExpo",
|
|
"EaseInCirc","EaseOutCirc","EaseInOutCirc",
|
|
"EaseInBounce","EaseOutBounce","EaseInOutBounce",
|
|
"EaseInBack","EaseOutBack","EaseInOutBack",
|
|
"EaseInElastic","EaseOutElastic","EaseInOutElastic",
|
|
"EasePunch","EaseShake",
|
|
};
|
|
|
|
void Start () {
|
|
|
|
demoEaseTypes();
|
|
}
|
|
|
|
private void demoEaseTypes(){
|
|
for(int i = 0; i < easeTypes.Length; i++){
|
|
string easeName = easeTypes[i];
|
|
Transform obj1 = GameObject.Find(easeName).transform.FindChild("Line");
|
|
float obj1val = 0f;
|
|
LTDescr lt = LeanTween.value( obj1.gameObject, 0f, 1f, 5f).setOnUpdate( (float val)=>{
|
|
Vector3 vec = obj1.localPosition;
|
|
vec.x = obj1val*lineDrawScale;
|
|
vec.y = val*lineDrawScale;
|
|
|
|
obj1.localPosition = vec;
|
|
|
|
obj1val += Time.deltaTime/5f;
|
|
if(obj1val>1f)
|
|
obj1val = 0f;
|
|
});
|
|
if(easeName.IndexOf("AnimationCurve")>=0){
|
|
lt.setEase(animationCurve);
|
|
}else{
|
|
MethodInfo theMethod = lt.GetType().GetMethod("set"+easeName);
|
|
theMethod.Invoke(lt, null);
|
|
}
|
|
|
|
if(easeName.IndexOf("EasePunch")>=0){
|
|
lt.setScale(1f);
|
|
}
|
|
}
|
|
|
|
LeanTween.delayedCall(gameObject, 10f, resetLines);
|
|
LeanTween.delayedCall(gameObject, 10.1f, demoEaseTypes);
|
|
}
|
|
|
|
private void resetLines(){
|
|
for(int i = 0; i < easeTypes.Length; i++){
|
|
Transform obj1 = GameObject.Find(easeTypes[i]).transform.FindChild("Line");
|
|
obj1.localPosition = new Vector3(0f,0f,0f);
|
|
}
|
|
}
|
|
|
|
}
|