public void FireEventCache(int key, params object[] args) { // 先判断目前的事件队列中是否有这个事件,如果有的话,则刷新为最新。因为在同一帧中两次事件的没有作用 Event2 e = null; for (int i = 0; i < mFiredEventList.Count; ++i) { if (mFiredEventList [i].GetKey() == key) { e = mFiredEventList [i]; break; } } if (e == null) { e = mEventPool.Alloc(); e.Set(key, args); mFiredEventList.Add(e); } else { e.Set(key, args); } }
public void FireEvent(int key, params object[] args) { Event2 e = mEventPool.Alloc(); e.Set(key, args); TrigEvent(e); }