//Protobuffer从MemoryStream进行反序列化 public bool FromMemoryStream(MemoryStream protoMS) { BagExtraAttrObj pb = ProtoBuf.Serializer.Deserialize <BagExtraAttrObj>(protoMS); FromPB(pb); return(true); }
//转化成Protobuffer类型函数 public BagExtraAttrObj ToPB() { BagExtraAttrObj v = new BagExtraAttrObj(); for (int i = 0; i < (int)m_ExtraAttr.Count; i++) { v.ExtraAttr.Add(m_ExtraAttr[i].ToPB()); } v.Id = m_Id; return(v); }
//从Protobuffer类型初始化 public void FromPB(BagExtraAttrObj v) { if (v == null) { return; } m_ExtraAttr.Clear(); for (int i = 0; i < v.ExtraAttr.Count; i++) { m_ExtraAttr.Add(new BagAttrFloatObjWraper()); } for (int i = 0; i < v.ExtraAttr.Count; i++) { m_ExtraAttr[i].FromPB(v.ExtraAttr[i]); } m_Id = v.Id; }