Beispiel #1
0
        private void OnDestroy()
        {
            OnBeforeDestroy();

            foreach (MsgRecord msgRecord in mMsgRecorder)
            {
                MsgDispatcher.UnRegister(msgRecord.Name, msgRecord.OnMsgReceived);
                msgRecord.Recycle();
            }

            mMsgRecorder.Clear();
        }
Beispiel #2
0
        public void UnRegister(string msgName, Action <object> onMsgReceived)
        {
            var selectedRecords = mMsgRecorder.FindAll(record => record.Name == msgName && record.OnMsgReceived == onMsgReceived);

            selectedRecords.ForEach(record =>
            {
                MsgDispatcher.UnRegister(record.Name, record.OnMsgReceived);
                record.Recycle();
            });

            selectedRecords.Clear();
        }
Beispiel #3
0
        private static void MenuClicked()
        {
            MsgDispatcher.UnRegister("消息1");

            MsgDispatcher.Register("消息1", OnMsgReceived);
            MsgDispatcher.Register("消息1", OnMsgReceived);

            MsgDispatcher.Send("消息1", "Hello World");

            MsgDispatcher.UnRegister("消息1", OnMsgReceived);

            MsgDispatcher.Send("消息1", "Hello");
        }
Beispiel #4
0
 protected void Send(string msgName, object data)
 {
     MsgDispatcher.Send(msgName, data);
 }
Beispiel #5
0
 public void Register(string msgName, Action <object> onMsgReceived)
 {
     MsgDispatcher.Register(msgName, onMsgReceived);
     mMsgRecorder.Add(MsgRecord.Allocate(msgName, onMsgReceived));
 }