using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; /// /// 主线程计时器驱动 /// public static class DispatcherTimerDriver { /// /// 计时器列表 /// private static List TimersList = new List(); /// /// 添加一个新的计时器到队列中 /// /// public static void AddTimer(DispatcherTimer timer) { TimersList.Add(timer); } /// /// 从队列中删除一个计时器 /// /// public static void RemoveTimer(DispatcherTimer timer) { TimersList.Remove(timer); } /// /// 清空所有 /// public static void ClearAll() { TimersList.Clear(); } /// /// 执行timer /// public static void ExecuteTimers() { //Profiler.BeginSample("DispatcherTimerDriver.ExecuteTimers"); int count = TimersList.Count; for (int i = 0; i < count; i++) { try { TimersList[i].ExecuteTimer(); } catch (System.Exception ex) { Debug.LogException(ex); } } //Profiler.EndSample(); } }