//Protobuffer从MemoryStream进行反序列化 public bool FromMemoryStream(MemoryStream protoMS) { OnlineDataOnlineDataV1 pb = ProtoBuf.Serializer.Deserialize <OnlineDataOnlineDataV1>(protoMS); FromPB(pb); return(true); }
//转化成Protobuffer类型函数 public OnlineDataOnlineDataV1 ToPB() { OnlineDataOnlineDataV1 v = new OnlineDataOnlineDataV1(); for (int i = 0; i < (int)m_BagRecycleBin.Count; i++) { v.BagRecycleBin.Add(m_BagRecycleBin[i].ToPB()); } for (int i = 0; i < (int)m_RoleAttr.Count; i++) { v.RoleAttr.Add(m_RoleAttr[i].ToPB()); } v.RecommendFriendOffset = m_RecommendFriendOffset; v.RecommendFriendFlushTime = m_RecommendFriendFlushTime; for (int i = 0; i < (int)m_RecommendFriendLastList.Count; i++) { v.RecommendFriendLastList.Add(m_RecommendFriendLastList[i]); } for (int i = 0; i < (int)m_FollowmeUserId.Count; i++) { v.FollowmeUserId.Add(m_FollowmeUserId[i]); } v.FollowWho = m_FollowWho; v.ThiefObjId = m_ThiefObjId; return(v); }
//从Protobuffer类型初始化 public void FromPB(OnlineDataOnlineDataV1 v) { if (v == null) { return; } m_BagRecycleBin.Clear(); for (int i = 0; i < v.BagRecycleBin.Count; i++) { m_BagRecycleBin.Add(new BagRecycleGridObjWraper()); } for (int i = 0; i < v.BagRecycleBin.Count; i++) { m_BagRecycleBin[i].FromPB(v.BagRecycleBin[i]); } m_RoleAttr.Clear(); for (int i = 0; i < v.RoleAttr.Count; i++) { m_RoleAttr.Add(new OnlineDataRoleAttrObjWraperV1()); } for (int i = 0; i < v.RoleAttr.Count; i++) { m_RoleAttr[i].FromPB(v.RoleAttr[i]); } m_RecommendFriendOffset = v.RecommendFriendOffset; m_RecommendFriendFlushTime = v.RecommendFriendFlushTime; m_RecommendFriendLastList.Clear(); for (int i = 0; i < v.RecommendFriendLastList.Count; i++) { m_RecommendFriendLastList.Add(v.RecommendFriendLastList[i]); } m_FollowmeUserId.Clear(); for (int i = 0; i < v.FollowmeUserId.Count; i++) { m_FollowmeUserId.Add(v.FollowmeUserId[i]); } m_FollowWho = v.FollowWho; m_ThiefObjId = v.ThiefObjId; }