Exemple #1
0
        /// <summary>
        /// 中途关闭一个补间动画
        /// </summary>
        /// <param name="tweenUID">补间动画唯一ID</param>
        public void Kill(long tweenUID)
        {
            TweenWrapper wrapper = GetTweenWrapper(tweenUID);

            if (wrapper != null)
            {
                wrapper.TweenRoot.Kill();
            }
        }
Exemple #2
0
        /// <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();
            }
        }
Exemple #3
0
        /// <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);
        }