Ejemplo n.º 1
0
    //消息分发
    public void DispatchMsgEvent(NetMsgBase msg)
    {
        // Debug.Log("接收协议" + msg.MsgType.ToString());

        if (msg.MsgType == eNetMsgType.FRAME)
        {
            NetFrameMsg realMSg = (NetFrameMsg)msg;
            if (realMSg == null)
            {
                Debug.Log("协议 error");
                return;
            }
            GameMain.GetInstance().logicManager.AddNewFrame(realMSg.frame);
        }
        else if (msg.MsgType == eNetMsgType.SYS)
        {
            Debug.Log("sys init");
            NetSysMsg realMSg = (NetSysMsg)msg;
            GameMain.GetInstance().logicManager.Init(realMSg.localPid);
        }
        //string name = protocol.GetName();
        //Debug.Log("分发处理消息 " + name);
        //if (eventDict.ContainsKey(name))
        //{
        //    eventDict[name](protocol);
        //}
        //if (onceDict.ContainsKey(name))
        //{
        //    onceDict[name](protocol);
        //    onceDict[name] = null;
        //    onceDict.Remove(name);
        //}
    }
Ejemplo n.º 2
0
    private NetMsgBase ReadAndDecode(ByteBuffer byteBuffer)
    {
        int start   = 0;
        int msgType = byteBuffer.GetInt(start, ref start);

        if (msgType == (int)eNetMsgType.FRAME)
        {
            string      str   = byteBuffer.GetString(start, ref start);
            LogicFrame  frame = JsonConvert.DeserializeObject <LogicFrame>(str);
            NetFrameMsg msg   = new NetFrameMsg();
            msg.MsgType = (eNetMsgType)msgType;
            msg.frame   = frame;
            return(msg);
        }
        else
        {
            NetSysMsg msg = new NetSysMsg();
            msg.MsgType  = (eNetMsgType)msgType;
            msg.localPid = byteBuffer.GetInt(start, ref start);
            return(msg);
        }
    }