Ejemplo n.º 1
0
 public void FireEvent(string key, params object[] args)
 {
     // 直接执行
     Event e = new Event(key, args);
     DirectFire(e);
     //FireEventDelay(0, key, args);
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
 public void FireEvent2(string key, params object[] args)
 {
     Event e = new Event (key, args);
     DelayFire (e, 1);
 }
Ejemplo n.º 4
0
 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());
     }
 }
Ejemplo n.º 5
0
 private void DelayFire(Event e, int delay)
 {
     mFiredEventList.Add(e);
 }