protected void RemoveAllTimeout() { for (int i = 0; i < _timeoutList.Count(); i++) { ModelTimeoutParameter param = _timeoutList[i]; TimeoutManager.instance.ClearTimeout(param.lTimeId); } _timeoutList.Clear(); }
void RemoveTimeout(int id) { for (int i = 0; i < _timeoutList.Count(); i++) { ModelTimeoutParameter param = _timeoutList[i]; if (param.id == id) { _timeoutList.RemoveAt(i); TimeoutManager.instance.ClearTimeout(param.lTimeId); break; } } }
void TimeoutCallBack(long timeId, object param = null) { if (!_timeoutList.IsNullOrEmpty()) { ModelTimeoutParameter timeoutParam = param as ModelTimeoutParameter; RemoveTimeout(timeoutParam.id); if (enabled) { EventDispatcherManager.instance.FireEvent(timeoutParam.modelEvent, timeoutParam.param1, timeoutParam.param2); } SetQCoroutinerIsDone((MSGID)timeoutParam.id, true, false); } }
void AddTimeout(int id, ModelEvent modelEvent, object param1, object param2, float timeLimit) { RemoveTimeout(id); if (_timeoutList == null) { _timeoutList = new List <ModelTimeoutParameter>(); } ModelTimeoutParameter param = new ModelTimeoutParameter(id, modelEvent, param1, param2); param.lTimeId = TimeoutManager.instance.CreateTimeout(TimeoutCallBack, timeLimit, param); _timeoutList.Add(param); }