void OnDestroy() { BeforeDestroy(); foreach (var item in mMsgRecorder) { MsgDispatcher.UnRegister(item.MsgName, item.onMsgReceive); item.Recycle(); } mMsgRecorder.Clear(); }
IEnumerator Start() { MsgDispatcher.Send("Do", "123"); yield return(new WaitForSeconds(1f)); MsgDispatcher.Send("Do", "456"); SendMsg("OK", "hello"); SendMsg("OK", "hello"); }
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 "); }
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(); }
public void RegisterMsg(string msgName, Action <object> onMsgReceived) { MsgDispatcher.Register(msgName, onMsgReceived); //构造器初始化 mMsgRecorder.Add(MsgRecord.Allocate(msgName, onMsgReceived)); }
public void SendMsg(string msgName, object onMsgReceive) { MsgDispatcher.Send(msgName, onMsgReceive); }