update method

dynamic update(
  1. dynamic time,
  2. dynamic preserve
)

Implementation

update(time, preserve) {
    if (time == null) { time = now(); }
    if (preserve == null) { preserve = false; }
    var tweenIds = this._tweens.keys.toList();
    if (tweenIds.length == 0) {
      return false;
    }
    // Tweens are updated in "batches". If you add a new tween during an
    // update, then the new tween will be updated in the next batch.
    // If you remove a tween during an update, it may or may not be updated.
    // However, if the removed tween was added during the current batch,
    // then it will not be updated.
    while (tweenIds.length > 0) {
        this._tweensAddedDuringUpdate = {};
        for (var i = 0; i < tweenIds.length; i++) {
            var tween = this._tweens[tweenIds[i]];
            var autoStart = !preserve;
            if (tween && tween.update(time, autoStart) == false && !preserve) {
              _tweens.remove(tweenIds[i]);//delete this._tweens[tweenIds[i]];
            }
        }
        tweenIds = this._tweensAddedDuringUpdate.keys.toList();
    }
    return true;
}