// Update is called once per frame void Update() { if (mDic.Count == 0) { return; } Dictionary <AsyncOperation, TimerInfo> .Enumerator iter = mDic.GetEnumerator(); while (iter.MoveNext()) { if (iter.Current.Value != null) { if (iter.Current.Value.target != null) { OnTimerEvent(iter.Current.Value, Time.deltaTime); } } } if (mDeleteList.Count > 0) { for (int i = 0; i < mDeleteList.Count; ++i) { IAsyncOperationItem item = mDeleteList[i]; RemoveAsyncOperation(item); } mDeleteList.Clear(); } }
public void AddDeleteList(IAsyncOperationItem item) { if (item == null) { return; } item.SetDelete(true); }
private void AddItem(IAsyncOperationItem item) { item.Changed += ItemChanged; lock (operationsLock) { operations.Add(item); } OnChanged(); }
protected void RemoveAsyncOperation(IAsyncOperationItem item) { if (item == null) { return; } AsyncOperation opt = item.GetOperation(); RemoveAsyncOperation(opt); item.Release(); }
public AsyncOperationItem <T, U> GetAsyncOptionTimerOprItem <T, U>(ITimer obj) where T : AsyncOperation { if (obj == null) { return(null); } IAsyncOperationItem item = (IAsyncOperationItem)obj.UserData; if (item == null) { return(null); } return(item as AsyncOperationItem <T, U>); }
public void RemoveAsyncOperation(IAsyncOperationItem item) { if (item == null) return; Timer time; AsyncOperation opt = item.GetOperation (); if (mDic.TryGetValue (opt, out time) && (time != null)) { mDic.Remove(opt); time.Dispose(); } item.Release (); }
public AsyncOperation GetAsyncOptionTimerOpr(Timer obj) { if (obj == null) { return(null); } IAsyncOperationItem item = (IAsyncOperationItem)obj.UserData; if (item == null) { return(null); } AsyncOperation opt = item.GetOperation(); return(opt); }
public AsyncOperationItem <T, U> GetAsyncOptionTimerOprItem <T, U>(TimerInfo obj) where T : AsyncOperation { if (obj == null) { return(null); } IAsyncOperationItem item = (IAsyncOperationItem)obj.target; if (item == null) { return(null); } return(item as AsyncOperationItem <T, U>); }
public void AddDeleteList(AsyncOperation opt) { TimerInfo time; if (mDic.TryGetValue(opt, out time) && (time != null)) { IAsyncOperationItem item = (IAsyncOperationItem)time.target; if (item == null) { return; } item.SetDelete(true); } }
public void Clear() { Dictionary<AsyncOperation, Timer>.Enumerator iter = mDic.GetEnumerator (); while (iter.MoveNext()) { if (iter.Current.Value != null) { if (iter.Current.Value.UserData != null) { IAsyncOperationItem item = iter.Current.Value.UserData as IAsyncOperationItem; if (item != null) item.Release(); } iter.Current.Value.Dispose(); } } iter.Dispose (); mDic.Clear (); }
protected void OnTimerEvent(Timer obj, float timer) { IAsyncOperationItem item = (IAsyncOperationItem)obj.UserData; if (item == null) { obj.Dispose(); return; } AsyncOperation opt = item.GetOperation (); if (opt == null) { obj.Dispose(); return; } item.Process (); if (opt.isDone) RemoveAsyncOperation(item); }
protected void OnTimerEvent(TimerInfo obj, float timer) { IAsyncOperationItem item = (IAsyncOperationItem)obj.target; if (item.IsDelete()) { mDeleteList.Add(item); return; } AsyncOperation opt = item.GetOperation(); item.Process(); if (opt.isDone) { mDeleteList.Add(item); } //RemoveAsyncOperation(item); }