//解析protocol 协议 public override void ParseData(string msgIndex, byte[] _data) { Debug.Log(msgIndex + "解析了MDaccount"); global::ProtoBuf.IExtensible retIE = null; switch (msgIndex) { case "Msg_2_2_": { //Msg_2_2_ cmsg = null; //if (_data != null) cmsg = ProtoBuf.Serializer.Deserialize<Msg_2_2_>(new MemoryStream(_data)); //Fun_Msg_2_2_(cmsg); //retIE = cmsg; //Msg_2_2_ cmsg = (Msg_2_2_)GDDirector.getInstance().getCurrentFactory().createProtocolType1().Deserialize(_data); //Fun_Msg_2_2_(cmsg); //retIE = cmsg; //IProtocolFactory factory = new ProtocolFactory(); //Msg_2_2_ cmsg = (Msg_2_2_)factory.createProtocolType1().Deserialize(_data); //Fun_Msg_2_2_(cmsg); //retIE = cmsg; Msg_2_2_ cmsg = CurrProtocolManage.getInstance().Deserialize <Msg_2_2_>(_data); Fun_Msg_2_2_(cmsg); retIE = cmsg; break; } case "Msg_2_3_": { //Msg_2_3_ cmsg = null; //if (_data != null) cmsg = ProtoBuf.Serializer.Deserialize<Msg_2_3_>(new MemoryStream(_data)); //Fun_Msg_2_3_(cmsg); //retIE = cmsg; //下面的代码解析不了 Msg_2_3_ cmsg = CurrProtocolManage.getInstance().Deserialize <Msg_2_3_>(_data); Fun_Msg_2_3_(cmsg); retIE = cmsg; break; } //添加case 自动生成需要这行注释,不能删,不能改。 } //return retIE; }
private void Fun_Msg_2_3_(Msg_2_3_ msg) { Debug.Log("上次所在主城ID " + msg.loginData.cityId); }