//Protobuffer从MemoryStream进行反序列化 public bool FromMemoryStream(MemoryStream protoMS) { SkillSkillDataV1 pb = ProtoBuf.Serializer.Deserialize <SkillSkillDataV1>(protoMS); FromPB(pb); return(true); }
//转化成Protobuffer类型函数 public SkillSkillDataV1 ToPB() { SkillSkillDataV1 v = new SkillSkillDataV1(); for (int i = 0; i < (int)m_SkillArray.Count; i++) { v.SkillArray.Add(m_SkillArray[i].ToPB()); } for (int i = 0; i < (int)m_ShortcutArray.Count; i++) { v.ShortcutArray.Add(m_ShortcutArray[i].ToPB()); } v.ShortcutId = m_ShortcutId; for (int i = 0; i < (int)m_TalentSkill.Count; i++) { v.TalentSkill.Add(m_TalentSkill[i].ToPB()); } v.TotalCostExp = m_TotalCostExp; v.TalentLevel = m_TalentLevel; v.TalentPoint = m_TalentPoint; for (int i = 0; i < (int)m_LifeSkillArray.Count; i++) { v.LifeSkillArray.Add(m_LifeSkillArray[i].ToPB()); } return(v); }
//从Protobuffer类型初始化 public void FromPB(SkillSkillDataV1 v) { if (v == null) { return; } m_SkillArray.Clear(); for (int i = 0; i < v.SkillArray.Count; i++) { m_SkillArray.Add(new SkillSkillObjWraperV1()); } for (int i = 0; i < v.SkillArray.Count; i++) { m_SkillArray[i].FromPB(v.SkillArray[i]); } m_ShortcutArray.Clear(); for (int i = 0; i < v.ShortcutArray.Count; i++) { m_ShortcutArray.Add(new SkillShortcutObjWraperV1()); } for (int i = 0; i < v.ShortcutArray.Count; i++) { m_ShortcutArray[i].FromPB(v.ShortcutArray[i]); } m_ShortcutId = v.ShortcutId; m_TalentSkill.Clear(); for (int i = 0; i < v.TalentSkill.Count; i++) { m_TalentSkill.Add(new SkillTalentSlotWraperV1()); } for (int i = 0; i < v.TalentSkill.Count; i++) { m_TalentSkill[i].FromPB(v.TalentSkill[i]); } m_TotalCostExp = v.TotalCostExp; m_TalentLevel = v.TalentLevel; m_TalentPoint = v.TalentPoint; m_LifeSkillArray.Clear(); for (int i = 0; i < v.LifeSkillArray.Count; i++) { m_LifeSkillArray.Add(new SkillSkillObjWraperV1()); } for (int i = 0; i < v.LifeSkillArray.Count; i++) { m_LifeSkillArray[i].FromPB(v.LifeSkillArray[i]); } }