GitHub - yjlintw/Tweenie at blog-day3

Play(): This control method allows you to play or resume the Tweener animation from its paused or stopped state.Pause(): This control method allows you to pause the Tweener animation at its current value. The tweener parameter will stop at its current value, and the animation will be on hold until it is resumed with the Play method.Stop(): This control method stops the Tweener animation and resets the tweener parameter back to its FromValue.StopAfterStepComplete(): This control method stops the Tweener animation after the current step is complete. For instance, if the Tweener is animating a value from 0 to 1, and it has reached 0.5, calling StopAfterStepComplete will stop the animation once the Tweener reaches 1.Complete(): This control method stops the Tweener animation and sets the tweener parameter to its ToValue. This way, the tweener parameter will have the final value of the animation.::: warning 🚨
The code design might need to be rethought. Currently, only StopAfterStepComplete's calling direction is different than the other Tweener Control Functions. All other tweener controls have their implementation in the Tweenie class, and the Tweener counterpart calls Tweenie's, because whether a Tweener is playing or stopped is handled by Tweenie, where we move those tweeners to different HashSets (toAddSet, toPauseSet, toStopSet, toCompleteSet). However, StopAfterStepComplete has its implementation in the Tweener class, and the Tweenie counterpart is calling Tweener's function because Tweenie has no understanding of where the Tweener's progress is at. A better design might be necessary to ensure that all control functions have the same calling direction.
:::
Now, Tweenie supports looping in both a fixed amount of times and an infinite manner. Additionally, there are two loop modes available: the Default mode and PingPong mode.
To loop with an AnimationCurve, simply call SetEase with the desired curve. The Tweener will loop according to the curve's values.