clampSpeed method

Offset clampSpeed(
  1. Offset velocity
)

Clamps velocity to maxSpeed if set, preserving direction.

Implementation

Offset clampSpeed(Offset velocity) {
  final cap = maxSpeed;
  if (cap == null) return velocity;
  final speed = velocity.distance;
  if (speed <= cap || speed == 0) return velocity;
  final scale = cap / speed;
  return Offset(velocity.dx * scale, velocity.dy * scale);
}