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(); }
private void OnDestroy() { OnBeforeDestroy(); foreach (MsgRecord msgRecord in mMsgRecorder) { MsgDispatcher.UnRegister(msgRecord.Name, msgRecord.OnMsgReceived); msgRecord.Recycle(); } mMsgRecorder.Clear(); }
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"); }