public static float MoveTowards(float current, float target, float maxDelta) { if (Math.Abs(target - current) <= (double)maxDelta) return target; return current + Sign(target - current) * maxDelta; }
public static float MoveTowardsAngle(float current, float target, float maxDelta) { target = current + Mathf.DeltaAngle(current, target); return(Mathf.MoveTowards(current, target, maxDelta)); }