public static void DestroyTimer(TimerEvent timer, bool isCallBack = false) { if (m_timers.Contains(timer)) { if (isCallBack) { timer.CallBackTimer(); } m_timers.Remove(timer); timer.Release(); } else { Debug.LogError("Timer DestroyTimer error: dont exist timer " + timer); } }
static void Update() { for (int i = 0; i < m_timers.Count; i++) { m_timers[i].Update(); if (m_timers[i].m_isDone) { TimerEvent e = m_timers[i]; e.CompleteTimer(); if (e.m_repeatCount == 0) { m_timers.Remove(e); e.Release(); i--; } } } }