Example #1
0
        public void RegisteMsgHandler(uint msg, JMethodInfo method)
        {
            if (MsgMethodInfos.ContainsKey(msg))
            {
                //log.ErrorFormat("{0} 消息已存在处理方法信息,无法注册.", msg);
                //return;
                throw new Exception(msg + " 消息已存在处理方法信息,无法注册.");
            }

            MsgMethodInfos[msg] = method;
        }
Example #2
0
        public void RemoveMsgHandler(uint msg)
        {
            if (MsgHandlers.ContainsKey(msg))
            {
                MsgHandlers.Remove(msg);
            }

            if (MsgMethodInfos.ContainsKey(msg))
            {
                MsgMethodInfos.Remove(msg);
            }
        }
Example #3
0
        public void ClearHandlers()
        {
            foreach (uint msg in MsgHandlers.Keys)
            {
                RemoveReceiveMsg(msg);
            }

            foreach (uint msg in MsgMethodInfos.Keys)
            {
                RemoveReceiveMsg(msg);
            }

            MsgHandlers.Clear();
            MsgMethodInfos.Clear();
        }
Example #4
0
        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);
        }