Пример #1
0
        public static void StopAnim(TweenScript tweenData, bool isCallBack = false)
        {
            if (isCallBack)
            {
                tweenData.executeCallBack();
            }

            GetInstance().animList.Remove(tweenData);
            StackObjectPool <TweenScript> .Push(tweenData);
        }
Пример #2
0
        /// <summary>
        /// 停止一个对象身上的所有动画
        /// </summary>
        /// <param name="trans">要停止动画的对象</param>
        /// <param name="isCallBack">是否触发回调</param>
        public static void TnStop(this Transform trans, bool isCallBack = false)
        {
            for (int i = 0; i < TweenUtil.GetInstance().animList.Count; i++)
            {
                if (TweenUtil.GetInstance().animList[i].AnimObject == trans.gameObject)
                {
                    if (isCallBack)
                    {
                        TweenScript dataTmp = TweenUtil.GetInstance().animList[i];
                        dataTmp.executeCallBack();
                    }

                    TweenScript tweenData = TweenUtil.GetInstance().animList[i];
                    TweenUtil.GetInstance().animList.RemoveAt(i);
                    i--;
                    StackObjectPool <TweenScript> .Push(tweenData);
                }
            }
        }
Пример #3
0
        public void Update()
        {
            for (int i = 0; i < animList.Count; i++)
            {
                animList[i].executeUpdate();
                if (animList[i].IsDone)
                {
                    TweenScript tweenTmp = animList[i];
                    if (!tweenTmp.AnimReplayLogic())
                    {
                        animList.Remove(tweenTmp);
                        i--;
                        StackObjectPool <TweenScript> .Push(tweenTmp);
                    }

                    tweenTmp.executeCallBack(); // todo this is bug.
                }
            }
        }