public AsyncOperationItem <T, U> AddAsyncOperation <T, U>(T opt, System.Action <T> onProcess) where T : AsyncOperation { TimerInfo time; if (mDic.TryGetValue(opt, out time)) { if (time == null) { return(null); } AsyncOperationItem <T, U> old = time.target as AsyncOperationItem <T, U>; if (old == null) { return(null); } if (onProcess != null) { old.onProcess += onProcess; } return(old); } AsyncOperationItem <T, U> item = new AsyncOperationItem <T, U>(); item.opt = opt; time = new TimerInfo("AsyncOperationItem", item); item.onProcess = onProcess; mDic.Add(opt, time); return(item); }
public AsyncOperationItem<T> AddAsyncOperation<T>(T opt, Action<T> onProcess) where T: AsyncOperation { Timer time; if (mDic.TryGetValue (opt, out time)) { if (time == null) return null; AsyncOperationItem<T> old = time.UserData as AsyncOperationItem<T>; if (old == null) return null; if (onProcess != null) old.onProcess += onProcess; return old; } time = TimerMgr.Instance.CreateTimer (false, 0, true); time.AddListener (OnTimerEvent); AsyncOperationItem<T> item = new AsyncOperationItem<T> (); //AsyncOperationItem item = AsyncOperationItem.NewItem (); item.opt = opt; item.onProcess = onProcess; time.UserData = item; mDic.Add (opt, time); return item; }
private static void InPool(AsyncOperationItem <T, U> item) { if (item == null || !m_IsUsePool) { return; } InitPool(); item.Reset(); m_Pool.Store(item); }
public static AsyncOperationItem <T, U> Create() { if (m_IsUsePool) { InitPool(); AsyncOperationItem <T, U> ret = m_Pool.GetObject(); ret.Reset(); return(ret); } AsyncOperationItem <T, U> ret1 = new AsyncOperationItem <T, U>(); return(ret1); }
public AsyncOperationItem <T, U> AddAsyncOperation <T, U>(T opt, Action <T> onProcess) where T : AsyncOperation { ITimer time; if (mDic.TryGetValue(opt, out time)) { if (time == null) { return(null); } AsyncOperationItem <T, U> old = time.UserData as AsyncOperationItem <T, U>; if (old == null) { return(null); } if (onProcess != null) { old.onProcess += onProcess; } return(old); } time = TimerMgr.Instance.CreateTimer(0, true); time.AddListener(OnTimerEvent); //AsyncOperationItem<T, U> item = new AsyncOperationItem<T, U> (); AsyncOperationItem <T, U> item = AsyncOperationItem <T, U> .Create(); item.opt = opt; item.onProcess = onProcess; time.UserData = item; mDic.Add(opt, time); return(item); }
public static AsyncOperationItem <T, U> Create() { AsyncOperationItem <T, U> ret1 = new AsyncOperationItem <T, U>(); return(ret1); }