// Callback<params object[] args> public void PushExcute <T0>(Callback <T0> cb, T0 t) { bool newTaskFailed = true; SimplePool <Task <T0> > pool = mTaskTypePools.GetOrNew <SimplePool <Task <T0> > >(); if (null != pool) { Task <T0> task = pool.Alloc(); if (null != task) { task.Init(cb, t); mTaskMaskQueue.Enqueue(task.Run); newTaskFailed = false; } } if (newTaskFailed) { mTaskMaskQueue.Enqueue(() => { cb(t); }); } }
public void InitPool(SimplePool <T> associatedPool) { mAssociatedPool = associatedPool; }
public IPoolObject() { mAssociatedPool = null; }
public EventSystem2() { mEventHandlerMap = new Dictionary <int, List <EventHandler2> > (); mEventPool = new SimplePool <Event2> (); mFiredEventList = new List <Event2> (); }