public void FireEvent(string key, params object[] args) { // 直接执行 Event e = new Event(key, args); DirectFire(e); //FireEventDelay(0, key, args); }
public void Fire(Event e) { if (mHandler != null && mHoster != null) { mHandler.DynamicInvoke(e.GetArgs()); //this.mHandler.Invoke (parameters); //this.mHandler (parameters); mFireCount++; } else { LoggerSystem.Instance.Error("EventLisener Error! hoster:" + this.mHoster + ", handler:" + this.mHandler); } }
public void FireEvent2(string key, params object[] args) { Event e = new Event (key, args); DelayFire (e, 1); }
private void DirectFire(Event e) { List<EventHandler> total = null; if (this.mEventHandlerMap.TryGetValue(e.GetKey(), out total)) { EventHandler eh = null; for(int i = 0; i < total.Count; ++i) { eh = total[i]; if (eh != null) { eh.Fire(e); } } } else { LoggerSystem.Instance.Error("Not register this event for EventHandler:" + this.GetHashCode()); } }
private void DelayFire(Event e, int delay) { mFiredEventList.Add(e); }