public void RemoveEventListener(string _messageName, MessageEvnet _messageEvent) { if (dicMessageEvents.ContainsKey(_messageName)) { List <MessageEvnet> list = dicMessageEvents [_messageName]; if (list.Contains(_messageEvent)) { list.Remove(_messageEvent); } if (list.Count <= 0) { dicMessageEvents.Remove(_messageName); } } }
private void DispatchEvent(QMessage _message) { if (null == dicMessageEvents || !dicMessageEvents.ContainsKey(_message.Name)) { return; } List <MessageEvnet> list = dicMessageEvents [_message.Name]; for (int i = 0; i < list.Count; i++) { MessageEvnet messageEvent = list [i]; if (null != messageEvent) { messageEvent(_message); } } }
public void AddEventListener(string _messageName, MessageEvnet _messageEvent) { List <MessageEvnet> list = null; if (dicMessageEvents.ContainsKey(_messageName)) { list = dicMessageEvents [_messageName]; } else { list = new List <MessageEvnet> (); dicMessageEvents.Add(_messageName, list); } if (!list.Contains(_messageEvent)) { list.Add(_messageEvent); } }
public void RemoveEventListener(QMessageType _messageType, MessageEvnet _messageEvent) { RemoveEventListener(_messageType.ToString(), _messageEvent); }