示例#1
0
 public void dispatch(string sign, EventListenerData args)
 {
     if (dict.ContainsKey(sign))
     {
         dict[sign](args);
     }
 }
示例#2
0
    public void AddListener(EventDispatcherNode dis, EventDispatcherNode.EventListenerDele dele, string type
                            , int _priority = 0, bool _dispatchOnce = false)
    {
        EventListenerData data = new EventListenerData(dis, dele, type);

        mlistener.Add(data);
        dis.AttachListener(type, dele, _priority, _dispatchOnce);
    }
示例#3
0
    //		public void ListenForEvent(int eventId, EventListener.EventCallback callback, bool callWhenInactive = false, int priority = 0)
    public void ListenForEvent(EGameEvents eventEnum, EventListener.EventCallback callback, bool callWhenInactive = false, int priority = 0)
    {
        EventListenerData eld = new EventListenerData();

        eld.Callback         = callback;
        eld.CallWhenInactive = callWhenInactive;

        m_eventListeners[(int)eventEnum] = eld;
        Services.Get <EventManager>().RegisterListener((int)eventEnum, this, priority);
    }
示例#4
0
        public void ListenForEvent(string eventName, EventCallback callback, bool callWhenInactive = false, int priority = 0)
        {
            EventListenerData eventListenerData = new EventListenerData();

            eventListenerData.Callback         = callback;
            eventListenerData.CallWhenInactive = callWhenInactive;

            m_eventListeners[eventName] = eventListenerData;

            GameSystemManager.Get <EventManager>().RegisterListener(eventName, this, priority);
        }
示例#5
0
        public void ListenForEvent(int eventName, EventCallback callback, bool callWhenInactive = false, int priority = 0)
		{
            EventListenerData eventListenerData = new EventListenerData
            {
                eventCallback = callback,
                callWhenInactive = callWhenInactive
            };

            m_eventListeners[eventName] = eventListenerData;

			EventManager.Instance.RegisterListener(eventName, this, priority);
		}
示例#6
0
 public void DetachListener(EventDispatcherNode dis, EventDispatcherNode.EventListenerDele dele, string type)
 {
     for (int i = 0; i < mlistener.Count; i++)
     {
         EventListenerData data = mlistener[i];
         if (data.dis == dis && data.type == type && data.dele == dele)
         {
             data.DetachListener();
         }
         mlistener.RemoveAt(i);
         i--;
     }
 }
示例#7
0
 public void AddListener(EventDispatcherNode dis, EventDispatcherNode.EventListenerDele dele, string type
                         , int _priority = 0, bool _dispatchOnce = false)
 {
     if (!dis.HasListener(type, dele))
     {
         EventListenerData data = new EventListenerData(dis, dele, type);
         mlistener.Add(data);
         dis.AttachListener(type, dele, _priority, _dispatchOnce);
     }
     else
     {
         Debug.LogWarning("添加消息失败重复添加消息id=" + type);
     }
 }
示例#8
0
        public EventResult OnEvent(int eventName, object eventData)
		{
			if(m_eventListeners.ContainsKey(eventName))
			{
				EventListenerData eventListenerData = m_eventListeners[eventName];
				
				if(!active && !eventListenerData.callWhenInactive)
				{
					return null;
				}
				
				if(eventListenerData.eventCallback != null)
				{
					return eventListenerData.eventCallback(eventData);
				}
			}
			
			return null;
		}
示例#9
0
        public EventResult OnEvent(string eventName, object eventData)
        {
            if (m_eventListeners.ContainsKey(eventName))
            {
                EventListenerData eventListenerData = m_eventListeners[eventName];

                if (!Active && !eventListenerData.CallWhenInactive)
                {
                    return(null);
                }

                if (eventListenerData.Callback != null)
                {
                    return(eventListenerData.Callback(eventName, eventData));
                }
            }

            return(null);
        }
示例#10
0
    public EventResult OnEvent(int eventId, object data)
    {
        if (m_eventListeners.ContainsKey(eventId))
        {
            EventListenerData eld = m_eventListeners[eventId];

            if (!Active && !eld.CallWhenInactive)
            {
                return(null);
            }

            if (eld.Callback != null)
            {
                return(eld.Callback(data));
            }
        }


        return(null);
    }
示例#11
0
        public void ListenForEvent(string eventName, EventCallback callback, bool callWhenInactive = false, int priority = 0)
        {
            EventListenerData eld = new EventListenerData();
            eld.Callback = callback;
            eld.CallWhenInactive = callWhenInactive;

            m_eventListeners[eventName] = eld;
            ServiceLocator<EventManager>.Instance.RegisterListener (eventName, this, priority);
        }
示例#12
0
 public PYAudioSource AddListenerToEvent(EventListenerData data)
 {
     return(AddListinerToEvent(data.Type, data.Action));
 }