advance method

  1. @override
double advance(
  1. double dt
)
override

Advances this controller's internal clock by dt, returning any leftover time once finished.

Implementation

@override
double advance(double dt) {
  assert(dt >= 0, 'Delta time cannot be negative.');
  _elapsed += dt;

  if (_elapsed > duration) {
    final overflow = _elapsed - duration;
    _elapsed = duration;
    return overflow;
  }

  return 0;
}