コード例 #1
0
        public void RemoveListener <MessageType>(MonoBehaviour that, string name, MessageDispatcher.Handler <MessageType> handler)
        {
            DispatcherContainer container;

            if (!objects.TryGetValue(that.GetInstanceID(), out container))
            {
                return;
            }
            container.dispatcher.RemoveListener(name, handler);
        }
コード例 #2
0
        public void AddListener <MessageType>(MonoBehaviour that, string name, MessageDispatcher.Handler <MessageType> handler)
        {
            Debug.Assert(null != that, "That is not null");
            int id = that.GetInstanceID();
            DispatcherContainer container;

            if (!objects.TryGetValue(id, out container))
            {
                container            = new DispatcherContainer();
                container.instance   = that;
                container.dispatcher = new MessageDispatcher();
                objects[id]          = container;
            }
            container.dispatcher.AddListener(name, handler);
        }
コード例 #3
0
 public void AddListener(string message_name, MessageDispatcher.Handler handler)
 {
     dispatcher.AddListener(message_name, handler);
 }
コード例 #4
0
 public void RemoveListener <T>(string message_name, MessageDispatcher.Handler <T> handler)
 {
     dispatcher.AddListener(message_name, handler);
 }