public void Pause() { if (mIsPause) { return; } mLeftDelayTime = -1; //暂停 if (mTimeItem != null) { mLeftDelayTime = mTimeItem.SortScore - QFramework.Timer.Instance.currentScaleTime; mTimeItem.Cancel(); mTimeItem = null; } mIsPause = true; if (mSource.IsNotNull()) { mSource.Pause(); } }
public void Dump(int min = 0) { if (!SHOW_LOG) { return; } StringBuilder builder = new StringBuilder(); builder.AppendLine("Begin Dump Time Debugger :" + m_Name); builder.AppendLine(); for (int i = 0; i < m_EndTimeLists.Count; ++i) { TimeItem item = m_EndTimeLists[i]; if (item.passTime > min) { builder.AppendLine(string.Format("# {2}: [PassTime:{0}, PassTicks:{1}]", item.passTime, item.passTicks, item.name)); } } builder.AppendLine(); builder.AppendLine("End Dump Time Debugger :" + m_Name); Log.W(builder.ToString()); }
public void Post2Really(TimeItem item) { item.sortScore = m_CurrentUnScaleTime + item.DelayTime(); m_UnScaleTimeHeap.Insert(item); }
public void Post2Scale(TimeItem item) { item.sortScore = m_CurrentScaleTime + item.DelayTime(); m_ScaleTimeHeap.Insert(item); }
public void UpdateMgr() { TimeItem item = null; m_CurrentUnScaleTime = Time.unscaledTime; m_CurrentScaleTime = Time.time; #region 受缩放影响定时器更新 while ((item = m_UnScaleTimeHeap.Top()) != null) { if (!item.enable) { m_UnScaleTimeHeap.Pop(); continue; } if (item.sortScore < m_CurrentUnScaleTime) { m_UnScaleTimeHeap.Pop(); item.OnTimeTick(); if (item.enable && item.NeedRepeat()) { Post2Really(item); } } else { break; } } #endregion #region 受缩放影响定时器更新 while ((item = m_ScaleTimeHeap.Top()) != null) { if (!item.enable) { m_ScaleTimeHeap.Pop(); continue; } if (item.sortScore < m_CurrentScaleTime) { m_ScaleTimeHeap.Pop(); item.OnTimeTick(); if (item.enable && item.NeedRepeat()) { Post2Scale(item); } } else { break; } } #endregion }