Пример #1
0
 void OnDestroy()
 {
     BeforeDestroy();
     foreach (var item in mMsgRecorder)
     {
         MsgDispatcher.UnRegister(item.MsgName, item.onMsgReceive);
         item.Recycle();
     }
     mMsgRecorder.Clear();
 }
Пример #2
0
        IEnumerator Start()
        {
            MsgDispatcher.Send("Do", "123");
            yield return(new WaitForSeconds(1f));

            MsgDispatcher.Send("Do", "456");

            SendMsg("OK", "hello");
            SendMsg("OK", "hello");
        }
Пример #3
0
        static void MenuClick()
        {
            MsgDispatcher.UnRegisterAll("消息1");

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

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

            MsgDispatcher.Send("消息1", "Hello ");
        }
Пример #4
0
        public void UnRegisterMsg(string msgName, Action <object> onMsgReceive)
        {
            var selectRecords = mMsgRecorder.FindAll(record => record.MsgName == msgName && record.onMsgReceive == onMsgReceive);

            selectRecords.ForEach(record =>
            {
                MsgDispatcher.UnRegister(record.MsgName, record.onMsgReceive);
                mMsgRecorder.Remove(record);

                record.Recycle();
            });
            selectRecords.Clear();
        }
Пример #5
0
 public void RegisterMsg(string msgName, Action <object> onMsgReceived)
 {
     MsgDispatcher.Register(msgName, onMsgReceived);
     //构造器初始化
     mMsgRecorder.Add(MsgRecord.Allocate(msgName, onMsgReceived));
 }
Пример #6
0
 public void SendMsg(string msgName, object onMsgReceive)
 {
     MsgDispatcher.Send(msgName, onMsgReceive);
 }