コード例 #1
0
 public static byte[] SerializeUDP(cProto.PACKETID packetType, pb::IMessage pbmsg)
 {
     byte[] pbbf;
     using (MemoryStream ms = new MemoryStream())
     {
         pb::CodedOutputStream s = new pb::CodedOutputStream(ms);
         pbmsg.WriteTo(s);
         s.Flush();
         pbbf = ms.ToArray();
         s.Dispose();
     }
     return(pbbf);
 }
コード例 #2
0
        public static byte[] Serialize(cProto.PACKETID packetType, pb::IMessage pbmsg)
        {
            int index = (int)packetType;

            byte[] pbbf;
            using (MemoryStream ms = new MemoryStream())
            {
                pb::CodedOutputStream s = new pb::CodedOutputStream(ms);
                pbmsg.WriteTo(s);
                s.Flush();
                pbbf = ms.ToArray();
                s.Dispose();
            }
            byte[] outarray = new byte[sizeof(short) + sizeof(short) + pbbf.Length];

            Array.Copy(BitConverter.GetBytes((short)index), outarray, sizeof(short));
            Array.Copy(BitConverter.GetBytes((short)pbbf.Length), 0, outarray, sizeof(short), sizeof(short));
            Array.Copy(pbbf, 0, outarray, sizeof(int), pbbf.Length);
            return(outarray);
        }
コード例 #3
0
        public static pb::IMessage Deserialize(cProto.PACKETID packetID, byte[] data)
        {
            pb::IMessage msg = null;

            switch (packetID)
            {
            case cProto.PACKETID.cs_loginGame:
                msg = cs_loginGame.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_loginGame:
                msg = sc_loginGame.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.userInfo:
                msg = userInfo.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_queueStatus:
                msg = br_queueStatus.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_startMatching:
                msg = cs_startMatching.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_startMatching:
                msg = sc_startMatching.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_exitMatching:
                msg = cs_exitMatching.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_exitMatching:
                msg = sc_exitMatching.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_ready:
                msg = cs_ready.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_ready:
                msg = sc_ready.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.userLoadingInfo:
                msg = userLoadingInfo.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_loading:
                msg = cs_loading.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_loading:
                msg = br_loading.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.playerInfo:
                msg = playerInfo.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.objectInfo:
                msg = objectInfo.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_ObjectUpdate:
                msg = br_ObjectUpdate.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_startGame:
                msg = br_startGame.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_pickUpItem:
                msg = cs_pickUpItem.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_pickUpItmeResult:
                msg = sc_pickUpItmeResult.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_pickUpItem:
                msg = br_pickUpItem.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_useItem:
                msg = cs_useItem.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_useItemResult:
                msg = sc_useItemResult.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_useItem:
                msg = br_useItem.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_pickupNpc:
                msg = cs_pickupNpc.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_pickupNpcResult:
                msg = sc_pickupNpcResult.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_pickupNpc:
                msg = br_pickupNpc.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_npcArrive:
                msg = cs_npcArrive.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_npcArriveResult:
                msg = sc_npcArriveResult.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_npcArrive:
                msg = br_npcArrive.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_crashCar:
                msg = cs_crashCar.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_crashCarResult:
                msg = sc_crashCarResult.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_crashCar:
                msg = br_crashCar.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_carreborn:
                msg = br_carreborn.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.mathVector3:
                msg = mathVector3.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_syncPos:
                msg = cs_syncPos.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_syncPos:
                msg = br_syncPos.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_regist:
                msg = cs_regist.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.sc_regist:
                msg = sc_regist.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.cs_matchInfo:
                msg = cs_matchInfo.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.matchInfo:
                msg = matchInfo.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_matchInfo:
                msg = br_matchInfo.Parser.ParseFrom(data);
                break;

            case cProto.PACKETID.br_matchResult:
                msg = br_matchResult.Parser.ParseFrom(data);
                break;

            default:
                Debug.LogError("unknown PB Message");
                break;
            }

            return(msg);
        }