private void FinishEvent(Timer_Coroutine logic) { mProgressTimers.Remove(logic); CurNum++; SendUpdateAction(); PlayFun(null); }
public Timer_Coroutine RegCoroutine(IEnumerator tor, Timer_Coroutine.TimerCall FinishedEvent, MonoBehaviour mo = null) { Timer_Coroutine coroutine = new Timer_Coroutine(tor, FinishedEvent, mo); mTimerStorage.RegYield(coroutine); return(coroutine); }
private IEnumerator TimerCoroutine(Timer_Coroutine timer) { timer.Start(); IEnumerator tor = timer.GetIEnumerator(); while (timer.state != TEvent.EventState.ES_Stop) { if (timer.IsValid()) { if (timer.state == TEvent.EventState.ES_Pause) { yield return(0); } else { if (tor != null && tor.MoveNext()) { yield return(tor.Current); } else { break; } } } else { timer.LogShow(); break; } } timer.End(); }
public void AddTimer(Timer_Coroutine cor) { mTimers.Add(cor); MaxNum++; }
public Timer_Coroutine RegYield(Timer_Coroutine timer) { TimerController.SetYieldTimer(timer); mYieldEvent[timer.handle] = timer; return(timer); }
internal static Timer_Coroutine SetYieldTimer(Timer_Coroutine timer) { instance.StartCoroutine(instance.TimerCoroutine(timer)); return(timer); }
public void Send(Action <FDownloader> callBack) { Timer_Coroutine.SetTimer(SendDownloader(callBack), null); }