IntervalTask<T extends App<T>> constructor

IntervalTask<T extends App<T>>(
  1. T app, {
  2. double? remaining,
  3. double interval = 0,
  4. int? frameInterval,
  5. bool triggerImmediately = false,
  6. required void actionUpdate(
    1. IntervalTask<T> self,
    2. double elapsed
    ),
  7. void actionFinish(
    1. IntervalTask<T> self
    )?,
})

Implementation

IntervalTask(super.app, {
  this.remaining, // null by default = infinite
  this.interval = 0,
  this.frameInterval,
  this.triggerImmediately = false,
  required this.actionUpdate,
  this.actionFinish,
}) :
  assert(
    frameInterval == null || interval == 0,
    'set either interval or frameInterval, not both'
  )
{
  if (triggerImmediately) {
    _accum = interval;
    _frames = frameInterval ?? 0;
  }
}