public void UpdateTimer() { for (int i = 0; i < m_timerTask.Count; i++) { TimerTask t = m_timerTask[i]; if (t == null) { continue; } // using Time.time not realtimeSinceStartup to fix pause cant stop the line if (t.RealTime < Time.time) { if (null != t.CallBack) { t.CallBack(); m_timerTask.Remove(t); } } } }