/// <summary> /// 计时器运行 /// </summary> void Run() { if (objects.Count == 0) { return; } for (int i = 0, imax = objects.Count; i < imax; i++) { TimerInfo o = objects[i]; if (o.delete || o.stop) { continue; } o.tick++; if (o.tick > o.tickend) { o.Func(); //Debug.Log(Time.realtimeSinceStartup + " " + o.tick + " " + o.tickend); if (!o.loop) { o.delete = true; } else { o.tick = 0; } } } /////////////////////////清除标记为删除或强制停止的事件/////////////////////////// for (int i = objects.Count - 1; i >= 0; i--) { if (objects[i].delete)// || objects[i].stop) { objects[i].Func = null; objects.Remove(objects[i]); if (Instance != null) { Instance.timerNum = objects.Count; } break; } } }