private void UpdateSchedule(int value) { List <ScheduleData> listv = ListPool.TrySpawn <List <ScheduleData> >(); listv.AddRange(this.scheduleList); for (int i = 0; i < listv.Count; ++i) { ScheduleData data = listv[i]; if (data.InvokeTime <= GameSyncCtr.mIns.RenderFrameCount) { data.CallEvent(); if (data.RepeatCount == 0) { this.scheduleList.Remove(data); } } } ListPool.TryDespawn(listv); }