/// <summary> /// 中途关闭一个补间动画 /// </summary> /// <param name="tweenUID">补间动画唯一ID</param> public void Kill(long tweenUID) { TweenWrapper wrapper = GetTweenWrapper(tweenUID); if (wrapper != null) { wrapper.TweenRoot.Kill(); } }
/// <summary> /// 中途关闭一组补间动画 /// </summary> /// <param name="go">游戏对象</param> public void Kill(UnityEngine.GameObject go) { int groupID = go.GetInstanceID(); TweenWrapper wrapper = GetTweenWrapper(groupID); if (wrapper != null) { wrapper.TweenRoot.Kill(); } }
/// <summary> /// 创建补间动画 /// </summary> /// <param name="tweenRoot">补间根节点</param> /// <param name="safeObject">安全游戏对象:如果安全游戏对象被销毁,补间动画会自动终止</param> /// <param name="groupID">补间组ID</param> /// <returns>补间动画唯一ID</returns> private long CreateTween(ITweenNode tweenRoot, UnityEngine.Object safeObject, int groupID = 0) { if (tweenRoot == null) { MotionLog.Warning("Tween root is null."); return(-1); } if (Contains(tweenRoot)) { MotionLog.Warning("Tween root is running."); return(-1); } long tweenUID = ++StaticTweenUID; TweenWrapper wrapper = new TweenWrapper(groupID, tweenUID, tweenRoot, safeObject); _wrappers.Add(wrapper); return(wrapper.TweenUID); }