//Protobuffer从MemoryStream进行反序列化 public bool FromMemoryStream(MemoryStream protoMS) { BagEquipObj pb = ProtoBuf.Serializer.Deserialize <BagEquipObj>(protoMS); FromPB(pb); return(true); }
//转化成Protobuffer类型函数 public BagEquipObj ToPB() { BagEquipObj v = new BagEquipObj(); v.ItemID = m_ItemID; for (int i = 0; i < (int)m_BaseAttr.Count; i++) { v.BaseAttr.Add(m_BaseAttr[i].ToPB()); } for (int i = 0; i < (int)m_ExtraAttr.Count; i++) { v.ExtraAttr.Add(m_ExtraAttr[i].ToPB()); } for (int i = 0; i < (int)m_EnhanceLv.Count; i++) { v.EnhanceLv.Add(m_EnhanceLv[i]); } for (int i = 0; i < (int)m_EquipPolishedResult.Count; i++) { v.EquipPolishedResult.Add(m_EquipPolishedResult[i].ToPB()); } v.PolishedScore = m_PolishedScore; v.Index = m_Index; for (int i = 0; i < (int)m_InitBaseAttr.Count; i++) { v.InitBaseAttr.Add(m_InitBaseAttr[i].ToPB()); } v.BagContainerType = m_BagContainerType; v.GridIndex = m_GridIndex; for (int i = 0; i < (int)m_PlishedAttrId.Count; i++) { v.PlishedAttrId.Add(m_PlishedAttrId[i].ToPB()); } for (int i = 0; i < (int)m_GemArray.Count; i++) { v.GemArray.Add(m_GemArray[i].ToPB()); } for (int i = 0; i < (int)m_PolishedBaseAttrResult.Count; i++) { v.PolishedBaseAttrResult.Add(m_PolishedBaseAttrResult[i].ToPB()); } v.TemplateId = m_TemplateId; v.GemSuitId = m_GemSuitId; v.EquipScore = m_EquipScore; v.PolishedEquipScore = m_PolishedEquipScore; for (int i = 0; i < (int)m_BaseAttrPolishedInitAttr.Count; i++) { v.BaseAttrPolishedInitAttr.Add(m_BaseAttrPolishedInitAttr[i].ToPB()); } return(v); }
//从Protobuffer类型初始化 public void FromPB(BagEquipObj v) { if (v == null) { return; } m_ItemID = v.ItemID; m_BaseAttr.Clear(); for (int i = 0; i < v.BaseAttr.Count; i++) { m_BaseAttr.Add(new BagAttrIntObjWraper()); } for (int i = 0; i < v.BaseAttr.Count; i++) { m_BaseAttr[i].FromPB(v.BaseAttr[i]); } m_ExtraAttr.Clear(); for (int i = 0; i < v.ExtraAttr.Count; i++) { m_ExtraAttr.Add(new BagExtraAttrObjWraper()); } for (int i = 0; i < v.ExtraAttr.Count; i++) { m_ExtraAttr[i].FromPB(v.ExtraAttr[i]); } m_EnhanceLv.Clear(); for (int i = 0; i < v.EnhanceLv.Count; i++) { m_EnhanceLv.Add(v.EnhanceLv[i]); } m_EquipPolishedResult.Clear(); for (int i = 0; i < v.EquipPolishedResult.Count; i++) { m_EquipPolishedResult.Add(new BagExtraAttrObjWraper()); } for (int i = 0; i < v.EquipPolishedResult.Count; i++) { m_EquipPolishedResult[i].FromPB(v.EquipPolishedResult[i]); } m_PolishedScore = v.PolishedScore; m_Index = v.Index; m_InitBaseAttr.Clear(); for (int i = 0; i < v.InitBaseAttr.Count; i++) { m_InitBaseAttr.Add(new BagAttrIntObjWraper()); } for (int i = 0; i < v.InitBaseAttr.Count; i++) { m_InitBaseAttr[i].FromPB(v.InitBaseAttr[i]); } m_BagContainerType = v.BagContainerType; m_GridIndex = v.GridIndex; m_PlishedAttrId.Clear(); for (int i = 0; i < v.PlishedAttrId.Count; i++) { m_PlishedAttrId.Add(new BagExtraAttrIdObjWraper()); } for (int i = 0; i < v.PlishedAttrId.Count; i++) { m_PlishedAttrId[i].FromPB(v.PlishedAttrId[i]); } m_GemArray.Clear(); for (int i = 0; i < v.GemArray.Count; i++) { m_GemArray.Add(new BagGemObjWraper()); } for (int i = 0; i < v.GemArray.Count; i++) { m_GemArray[i].FromPB(v.GemArray[i]); } m_PolishedBaseAttrResult.Clear(); for (int i = 0; i < v.PolishedBaseAttrResult.Count; i++) { m_PolishedBaseAttrResult.Add(new BagAttrIntObjWraper()); } for (int i = 0; i < v.PolishedBaseAttrResult.Count; i++) { m_PolishedBaseAttrResult[i].FromPB(v.PolishedBaseAttrResult[i]); } m_TemplateId = v.TemplateId; m_GemSuitId = v.GemSuitId; m_EquipScore = v.EquipScore; m_PolishedEquipScore = v.PolishedEquipScore; m_BaseAttrPolishedInitAttr.Clear(); for (int i = 0; i < v.BaseAttrPolishedInitAttr.Count; i++) { m_BaseAttrPolishedInitAttr.Add(new BagAttrIntObjWraper()); } for (int i = 0; i < v.BaseAttrPolishedInitAttr.Count; i++) { m_BaseAttrPolishedInitAttr[i].FromPB(v.BaseAttrPolishedInitAttr[i]); } }