restart method

void restart({
  1. Duration time = Duration.zero,
})

Implementation

void restart({Duration time = Duration.zero}) {
  _path = null;
  final startPosition = Offset(-0.2 + 1.4 * random.nextDouble(), -0.2);
  final endPosition = Offset(-0.2 + 1.4 * random.nextDouble(), 1.2);
  final duration = Duration(seconds: 5, milliseconds: random.nextInt(10000));
  tween = MultiTween<AniProps>()
    ..add(AniProps.X, Tween(begin: startPosition.dx, end: endPosition.dx),
        duration, Curves.easeInOutSine)
    ..add(AniProps.Y, Tween(begin: startPosition.dy, end: endPosition.dy),
        duration, Curves.easeIn);

  /* tween = MultiTrackTween([
    Track("x").add(
        duration, Tween(begin: startPosition.dx, end: endPosition.dx),
        curve: Curves.easeInOutSine),
    Track("y").add(
        duration, Tween(begin: startPosition.dy, end: endPosition.dy),
        curve: Curves.easeIn),
  ]); */
  animationProgress = AnimationProgress(duration: duration, startTime: time);
  size = 20 + random.nextDouble() * 100;
  drawPath();
}