private void OnDestroy() { OnBeforeDestroy(); foreach (var msgRecord in _msgRecorder) { MsgDispatcher.UnRegister(msgRecord.Name, msgRecord.OnMsgReceived); msgRecord.Recycle(); } _msgRecorder.Clear(); }
public void UnRegisterMsg(string msgName) { var selectedRecords = _msgRecorder.FindAll(record => record.Name == msgName); selectedRecords.ForEach(record => { MsgDispatcher.UnRegister(record.Name, record.OnMsgReceived); _msgRecorder.Remove(record); record.Recycle(); }); selectedRecords.Clear(); }
public void SendMsg(string msgName, object data) { MsgDispatcher.Send(msgName, data); }
public void RegisterMsg(string msgName, Action <object> onMsgReceived) { MsgDispatcher.Register(msgName, onMsgReceived); _msgRecorder.Add(MsgRecord.Allocate(msgName, onMsgReceived)); }