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(); }