//取消注册 public void OffEvent(string eventType, eventDelivery handele) { if (_eventList.ContainsKey(eventType)) { _eventList[eventType] -= handele; } }
//注册事件 public void OnEvent(string eventType, eventDelivery handler) { if (!_eventList.ContainsKey(eventType)) { _eventList.Add(eventType, null); } _eventList[eventType] += handler; }
//派发事件 public void Emit(string eventType, EventDate data, object trigger = null) { eventDelivery call = null; if (_eventList.TryGetValue(eventType, out call)) { if (call != null) { if (trigger == null) { trigger = this; } data.Trigger = trigger; call(data); } } }
//派发事件 public void Emit(string eventType, string msgName, object msgContent, object trigger = null) { eventDelivery call = null; if (_eventList.TryGetValue(eventType, out call)) { if (call != null) { Dictionary <string, object> detail = new Dictionary <string, object>(); detail.Add(msgName, msgContent); if (trigger == null) { trigger = this; } EventDate data = new EventDate(detail, trigger); call(data); } } }