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