예제 #1
0
 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);
         }
     }
 }
예제 #2
0
        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);
                }
            }
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
 public void RemoveEventListener(QMessageType _messageType, MessageEvnet _messageEvent)
 {
     RemoveEventListener(_messageType.ToString(), _messageEvent);
 }