示例#1
0
 public void Post2Really(TimeItem item)
 {
     item.SortScore = mCurrentUnScaleTime + item.DelayTime();
     mUnScaleTimeHeap.Insert(item);
 }
示例#2
0
        public void UpdateMgr()
        {
            TimeItem item = null;

            mCurrentUnScaleTime = Time.unscaledTime;
            mCurrentScaleTime   = Time.time;

            #region  受缩放影响定时器更新

            while ((item = mUnScaleTimeHeap.Top()) != null)
            {
                if (!item.isEnable)
                {
                    mUnScaleTimeHeap.Pop();
                    item.Recycle2Cache();
                    continue;
                }

                if (item.SortScore < mCurrentUnScaleTime)
                {
                    mUnScaleTimeHeap.Pop();

                    item.OnTimeTick();

                    if (item.isEnable && item.NeedRepeat())
                    {
                        Post2Really(item);
                    }
                    else
                    {
                        item.Recycle2Cache();
                    }
                }
                else
                {
                    break;
                }
            }

            #endregion

            #region 受缩放影响定时器更新

            while ((item = mScaleTimeHeap.Top()) != null)
            {
                if (!item.isEnable)
                {
                    mScaleTimeHeap.Pop();
                    item.Recycle2Cache();
                    continue;
                }

                if (item.SortScore < mCurrentScaleTime)
                {
                    mScaleTimeHeap.Pop();

                    item.OnTimeTick();

                    if (item.isEnable && item.NeedRepeat())
                    {
                        Post2Scale(item);
                    }
                    else
                    {
                        item.Recycle2Cache();
                    }
                }
                else
                {
                    break;
                }
            }

            #endregion
        }
示例#3
0
 public void Post2Scale(TimeItem item)
 {
     item.SortScore = mCurrentScaleTime + item.DelayTime();
     mScaleTimeHeap.Insert(item);
 }