public void Stop(AiukTweenStopBehavior stopBehavior) { if (state == AiukTweenState.Stopped) { return; } state = AiukTweenState.Stopped; if (stopBehavior != AiukTweenStopBehavior.Complete) { return; } mCurrentTime = mDuration; UpdateValue(); if (completeDelegate != null) { completeDelegate(this); } completeDelegate = null; }
/// <summary> /// 通过key对象移除一个动画 /// </summary> /// <param name="key"></param> /// <param name="stopBehavior"></param> /// <returns></returns> private static bool RemoveTweenKey(object key, AiukTweenStopBehavior stopBehavior) { if (key == null) { return(false); } var foundOne = false; for (var i = tweens.Count - 1; i >= 0; i--) { var t = tweens[i]; if (!key.Equals(t.Key)) { continue; } t.Stop(stopBehavior); tweens.RemoveAt(i); foundOne = true; } return(foundOne); }
/// <summary> /// 移除一个动画 /// </summary> /// <param name="aiukTween"></param> /// <param name="stopBehavior"></param> /// <returns></returns> public static bool RemoveTween(IAiukTween aiukTween, AiukTweenStopBehavior stopBehavior) { aiukTween.Stop(stopBehavior); return(tweens.Remove(aiukTween)); }