//从Protobuffer类型初始化 public void FromPB(TransportGoodsDataV1 v) { if (v == null) { return; } m_GoodsArray.Clear(); for (int i = 0; i < v.GoodsArray.Count; i++) { m_GoodsArray.Add(new TransportGoodsObjWraperV1()); } for (int i = 0; i < v.GoodsArray.Count; i++) { m_GoodsArray[i].FromPB(v.GoodsArray[i]); } m_AskNum = v.AskNum; m_HelpNum = v.HelpNum; m_RewardArry.Clear(); for (int i = 0; i < v.RewardArry.Count; i++) { m_RewardArry.Add(new TransportRewardObjWraperV1()); } for (int i = 0; i < v.RewardArry.Count; i++) { m_RewardArry[i].FromPB(v.RewardArry[i]); } m_RewardFlag = v.RewardFlag; m_PickTaskFlag = v.PickTaskFlag; }
//Protobuffer从MemoryStream进行反序列化 public bool FromMemoryStream(MemoryStream protoMS) { TransportGoodsDataV1 pb = ProtoBuf.Serializer.Deserialize <TransportGoodsDataV1>(protoMS); FromPB(pb); return(true); }
//转化成Protobuffer类型函数 public TransportGoodsDataV1 ToPB() { TransportGoodsDataV1 v = new TransportGoodsDataV1(); for (int i = 0; i < (int)m_GoodsArray.Count; i++) { v.GoodsArray.Add(m_GoodsArray[i].ToPB()); } v.AskNum = m_AskNum; v.HelpNum = m_HelpNum; for (int i = 0; i < (int)m_RewardArry.Count; i++) { v.RewardArry.Add(m_RewardArry[i].ToPB()); } v.RewardFlag = m_RewardFlag; v.PickTaskFlag = m_PickTaskFlag; return(v); }