tickIndefinitely method

void tickIndefinitely({
  1. int ticksPerSecond = 10,
  2. void onStop()?,
})

Implementation

void tickIndefinitely({int ticksPerSecond = 10, void Function()? onStop}) {
  if (!isPlaying) {
    onStop?.call();
    return;
  }
  _logger.info(
    '[Clock: ${virtualClock / 1000}s] NclDocument will tick indefinitely at $ticksPerSecond ticks per second',
  );
  final interval = Duration(milliseconds: 1000 ~/ ticksPerSecond);
  Timer.periodic(interval, (timer) {
    if (!isPlaying) {
      timer.cancel();
      onStop?.call();
      return;
    }
    tick(interval.inMilliseconds);
    _logger.info('[Clock: ${virtualClock / 1000}s] Tick');
  });
}