示例#1
0
    public static T Deserialize <T>(pb::ByteString data)
    {
        if (data.IsEmpty)
        {
            return(default(T));
        }

        MemoryStream st = new MemoryStream();

        BinaryFormatter bf = new BinaryFormatter();

        byte[] bt = data.ToByteArray();


        st.Position = 0;
        st.Write(bt, 0, bt.Length);
        st.Position = 0;

        object obj   = bf.Deserialize(st);
        T      frame = (T)(obj);

        st.Close();
        st.Dispose();
        return(frame);
    }
    public void decodeFrameData(pb::ByteString data)
    {
        if (data.IsEmpty)
        {
            return;
        }

        MemoryStream st = new MemoryStream();

        BinaryFormatter bf = new BinaryFormatter();

        byte[] bt = data.ToByteArray();


        st.Position = 0;
        st.Write(bt, 0, bt.Length);
        st.Position = 0;

        object    obj   = bf.Deserialize(st);
        FrameData frame = (FrameData)(obj);

        moveDirectionFrames.Add(new Vector3(frame.dx, frame.dy, frame.dz));
        mouseAxisFrames.Add(new Vector2(frame.mx, frame.my));

        st.Close();
        st.Dispose();
    }