/// <summary> /// Called by the animation manager before an associated storyboard is stopped. /// Allows inheritors to store any animated values to be restored later, when the storyboard is already stopped. /// </summary> /// <param name="info"></param> internal void OnStopping(PlayAnimationInfo info) { if (this.FillBehavior != AnimationFillBehavior.Stop && info.Target != null) { this.CopyAnimationValues(info); } }
/// <summary> /// Called by the animation manager after an associated storyboard has been stopped. /// Allows inheritors to apply previously stored (if any) animated values. /// </summary> /// <param name="info"></param> internal void OnStopped(PlayAnimationInfo info) { if (this.FillBehavior != AnimationFillBehavior.Stop && info.Target != null) { this.ApplyAnimationValues(info); } this.OnEnded(); }
// 移动数据 public void moveData(PlayAnimationInfo info) { animClip = info.animClip; timer = info.timer; loop = info.loop; blendDuration = info.blendDuration; blendTimer = info.blendTimer; hasData = info.hasData; duration = info.duration; loopDuration = info.loopDuration; info.clear(); }
/// <summary> /// Allows inheritors to store the animated values. /// This is useful if the animation wants to keep the final values upon storyboard stopping. /// </summary> /// <param name="info"></param> protected virtual void CopyAnimationValues(PlayAnimationInfo info) { }
/// <summary> /// Called by the animation manager when the storyboard has been started. /// </summary> protected internal virtual void OnStarted(PlayAnimationInfo info) { }
/// <summary> /// Applies already stored (if any) animated values. /// </summary> /// <param name="info"></param> protected internal virtual void ApplyAnimationValues(PlayAnimationInfo info) { }