Ejemplo n.º 1
0
    public bool DeserializeMessage(StreamBuffer streamBuffer, int start, int len,
                                   ref int msgLen, ref HjSendMsgDef msgObj)
    {
        msgObj = default(HjSendMsgDef);
        msgLen = 0;
        if (len < sizeof(int))
        {
            return(false);
        }

        byte[] data = streamBuffer.GetBuffer();
        int    _len = BitConverter.ToInt32(data, start);

        if (len < _len + sizeof(int))
        {
            return(false);
        }
        msgLen = _len + sizeof(int);

        start += sizeof(int);
        MemoryStream ms = streamBuffer.memStream;
        BinaryReader br = streamBuffer.binaryReader;

        ms.Seek(start, SeekOrigin.Begin);

        uint requestSeq = br.ReadUInt32();

        msgObj.requestSeq = requestSeq;
        msgObj.msgProto   = ProtoBufSerializer.Deserialize(ms, typeof(ntf_battle_frame_data), _len - sizeof(int));
        return(true);
    }
Ejemplo n.º 2
0
    // Use this for initialization
    void Start()
    {
        sendStreamBuffer     = StreamBufferPool.GetStream(1024 * 100, true, false);
        mReceiveStreamBuffer = StreamBufferPool.GetStream(1024 * 100, false, true);

        InitData(data);
        msg = new HjSendMsgDef(1000, data, 1204, 0, 0);
    }
Ejemplo n.º 3
0
    public int SerializeMessage(HjSendMsgDef realMsg, StreamBuffer streamBuffer, uint seq)
    {
        streamBuffer.ResetStream();
        MemoryStream ms = streamBuffer.memStream;
        BinaryWriter br = streamBuffer.binaryWriter;

        br.Write((int)0);
        br.Write(realMsg.requestSeq);

        long currPosition = ms.Position;

        ProtoBufSerializer.Serialize(ms, realMsg.msgProto);

        int position = (int)ms.Position;

        br.Seek(0, SeekOrigin.Begin);
        br.Write(position - sizeof(int));

        return(position);
    }