public TweenNode(float duration, T from, T to) { _duration = duration; _from = from; _to = to; _easeFun = TweenEase.Linear.Default; }
public TweenNode <T> SetEase(AnimationCurve easeCurve) { if (easeCurve == null) { MotionLog.Error("AnimationCurve is null. Tween ease function use default."); _easeFun = TweenEase.Linear.Default; return(this); } // 获取动画总时长 float length = 0f; for (int i = 0; i < easeCurve.keys.Length; i++) { var key = easeCurve.keys[i]; if (key.time > length) { length = key.time; } } _easeFun = delegate(float t, float b, float c, float d) { float time = length * (t / d); return(easeCurve.Evaluate(time) * c + b); }; return(this); }
public TweenNode <T> SetEase(TweenEaseDelegate ease) { _easeFun = ease; return(this); }