1. override
bool advanceTime(num time)

This method is called by the Juggler with the time past since the last call.

Returns true as long as this Animatable is not completed; false if it is completed.

Source

@override
bool advanceTime(num time) {

  _elapsedTime += time;
  _elapsedTimeChangedEvent.add(_elapsedTime);

  // Call advanceTime of current animatables.
  // Do not call advanceTime of newly added animatables.

  var link = _firstAnimatableLink;
  var lastLink = _lastAnimatableLink;

  while (identical(link, lastLink) == false) {
    var animatable = link.animatable;
    if (animatable == null) {
      var nextLink = link.nextAnimatableLink;
      link.animatable = nextLink.animatable;
      link.nextAnimatableLink = nextLink.nextAnimatableLink;

      if (identical(nextLink, lastLink)) lastLink = link;
      if (identical(nextLink, _lastAnimatableLink)) _lastAnimatableLink = link;

    } else if (animatable.advanceTime(time) == false) {
      link.animatable = null;
    } else {
      link = link.nextAnimatableLink;
    }
  }

  return true;
}