public static bool AddDelayTimer(string key, float duration, TimerManager.TimerManagerHandlerArgs handler, params object[] args) { if (string.IsNullOrEmpty(key)) { return(false); } if (duration < 0f) { if (handler != null) { handler(new object[0]); } return(true); } TimerManager.Timer timer = new TimerManager.Timer(key, TimerManager.TIMER_MODE.DELAYTIME, Time.realtimeSinceStartup, duration, handler, args); if (TimerManager.m_AddTimerList.ContainsKey(key)) { TimerManager.m_AddTimerList[key] = timer; } else { TimerManager.m_AddTimerList.Add(key, timer); } return(true); }
private void Update() { if (TimerManager.m_DestroyTimerList.Count > 0) { for (int i = 0; i < TimerManager.m_DestroyTimerList.Count; i++) { TimerManager.m_TimerList.Remove(TimerManager.m_DestroyTimerList[i]); } TimerManager.m_DestroyTimerList.Clear(); } if (TimerManager.m_AddTimerList.Count > 0) { int j = 0; int count = TimerManager.m_AddTimerList.mList.Count; while (j < count) { TimerManager.Timer timer = TimerManager.m_AddTimerList[TimerManager.m_AddTimerList.mList[j]]; if (timer != null) { if (TimerManager.m_TimerList.ContainsKey(TimerManager.m_AddTimerList.mList[j])) { TimerManager.m_TimerList[TimerManager.m_AddTimerList.mList[j]] = timer; } else { TimerManager.m_TimerList.Add(TimerManager.m_AddTimerList.mList[j], timer); } } j++; } TimerManager.m_AddTimerList.Clear(); } if (TimerManager.m_TimerList.Count > 0) { int k = 0; int count2 = TimerManager.m_TimerList.mList.Count; while (k < count2) { TimerManager.Timer timer2 = TimerManager.m_TimerList[TimerManager.m_TimerList.mList[k]]; if (timer2 == null) { return; } timer2.Run(); if (TimerManager.m_TimerList.mList.Count == 0) { return; } k++; } } }
private void addTimer(string id, int duration, DateTime startTime, string message = "", bool temporary = false) { TimerManager.TimerEventData eventData = new TimerManager.TimerEventData(); eventData.id = id; eventData.StartTime = GetTimerStart(id); eventData.EndTime = GetTimerEnd(id); if (_timersDictionary.ContainsKey(id)) { _timersDictionary[id] = new TimerManager.Timer(startTime, duration, temporary); } else { _timersDictionary.Add(id, new TimerManager.Timer(startTime, duration, temporary)); } OnTimerStarted(eventData); }
private static bool Internal_AddTimer(string key, TimerManager.TIMER_MODE mode, float duration, TimerManager.TimerManagerCountHandlerArgs handler, params object[] args) { if (string.IsNullOrEmpty(key)) { return(false); } if (duration < 0f) { return(false); } TimerManager.Timer timer = new TimerManager.Timer(key, mode, Time.realtimeSinceStartup, duration, handler, args); if (TimerManager.m_AddTimerList.ContainsKey(key)) { TimerManager.m_AddTimerList[key] = timer; } else { TimerManager.m_AddTimerList.Add(key, timer); } return(true); }
public static bool IsNull(this TimerManager.Timer t) { return(t == null ? true : false); }