public object ReceiveSync(Message msg) { if (msg != null) { if (MsgHandlers.ContainsKey(msg.Msg)) { return(MsgHandlers[msg.Msg](msg)); } if (MsgMethodInfos.ContainsKey(msg.Msg)) { return(MsgMethodInfos[msg.Msg].Invoke(new object[] { msg })); } } return(null); }
public void SendMsg(MessageArgs msg, string handler, object[] parameters)//发送消息方法 { //msg.Source = notifiedObject; if (!MsgHandlers.ContainsKey(handler)) { MsgHandlers.Add(handler, FrameManager.CreateInstence <IMsgHandler>(handler, null)); } MsgHandlers[handler].StartOperation(msg, parameters); }
public void RegisteMsgHandler(uint msg, MsgAction <Message> action) { if (MsgHandlers.ContainsKey(msg)) { //log.ErrorFormat("{0} 消息已存在处理函数,无法注册.", msg); //return; throw new Exception(msg + " 消息已存在处理函数,无法注册."); } MsgHandlers[msg] = action; }
public void RemoveMsgHandler(uint msg) { if (MsgHandlers.ContainsKey(msg)) { MsgHandlers.Remove(msg); } if (MsgMethodInfos.ContainsKey(msg)) { MsgMethodInfos.Remove(msg); } }
public void ClearHandlers() { foreach (uint msg in MsgHandlers.Keys) { RemoveReceiveMsg(msg); } foreach (uint msg in MsgMethodInfos.Keys) { RemoveReceiveMsg(msg); } MsgHandlers.Clear(); MsgMethodInfos.Clear(); }
public void RegistMsg(string msg, MsgEventHandler handlerEvent, string handler = AppConst.MsgHandler_Common) { if (!MsgHandlers.ContainsKey(handler)) { MsgHandlers.Add(handler, FrameManager.CreateInstence <IMsgHandler>(handler, null)); } if (MsgHandlers[handler].MsgEventHandlers.ContainsKey(msg)) { MsgHandlers[handler].MsgEventHandlers[msg] = handlerEvent; } else { MsgHandlers[handler].MsgEventHandlers.Add(msg, handlerEvent); } FrameManager.GetInstence <MsgManager>(notifiedObject.MsgStstem).RegistMsg(this, msg); }
public bool AllowReceiveMsg(uint msg) { return(MsgHandlers.ContainsKey(msg)); }