public int ProcessPacket(object obj, Packet pkt)
        {
            PacketProcessFunc func = null;

            if (m_ProcessFuncDict.TryGetValue(pkt.GetPacketID(), out func))
            {
                return(func(obj, pkt));
            }
            else
            {
                LogManager.Error("Can not find func to process packet, packet ID = " + pkt.GetPacketID().ToString());
                return((int)PACKET_PROC_ERROR.E_DEAL_FUNC_NOT_EXIST);
            }
        }
        public void RegisterProc(int packet_id, PacketProcessFunc func)
        {
            Debug.Assert(!m_ProcessFuncDict.ContainsKey(packet_id));

            m_ProcessFuncDict.Add(packet_id, func);
        }