public static EvalAtNormTime <Vector2> Vector2_2(Vector2 startValue, Vector2 endValue, TwoValueEasing mode) { var xEval = Float2(startValue.x, endValue.x, mode); var yEval = Float2(startValue.y, endValue.y, mode); return(time => new Vector2(xEval(time), yEval(time))); }
public static EvalAtNormTime <Transform2d> Transform2(Transform2d startValue, Transform2d endValue, TwoValueEasing mode) { var translateEval = Vector2_2(startValue.translation, endValue.translation, mode); var scaleEval = Vector2_2(startValue.scale, endValue.scale, mode); var rotateEval = Float2(startValue.rotation, endValue.rotation, mode); return(time => new Transform2d(translateEval(time), scaleEval(time), rotateEval(time))); }
public static EvalAtNormTime <float> Float2(float startValue, float endValue, TwoValueEasing mode) { float diff = endValue - startValue; return(time => startValue + diff * Easing.twoValueEasings[mode](time)); }