private void OnSyncSkillDataList(KProtoBuf buf) { S2C_SYNC_SKILL_DATA_LIST respond = buf as S2C_SYNC_SKILL_DATA_LIST; KNMSkillDataList skillList = Serializer.Deserialize <KNMSkillDataList>(respond.SkillDataList); SetSkillList(skillList); }
public void SetSkillList(KNMSkillDataList skillList) { ActiveSkillDict.Clear(); activeSkillList = new uint[skillList.ActiveSkillData.Count]; int index = 0; foreach (KNMActiveSkillData nmactiveSkillData in skillList.ActiveSkillData) { ActiveSkillData activeSkillData = new ActiveSkillData(); activeSkillData.Level = nmactiveSkillData.SkillLevel; activeSkillData.SkillExp = nmactiveSkillData.SkillExp; activeSkillData.SkillID = nmactiveSkillData.SkillID; ActiveSkillDict.Add(activeSkillData.SkillID, activeSkillData); activeSkillList[index++] = nmactiveSkillData.SkillID; KActiveSkill skill = KConfigFileManager.GetInstance().GetActiveSkill(activeSkillData.SkillID, activeSkillData.Level); activeSkillData.cdTicket.SetCD(skill.SkillCD); } PassiveSkillDict.Clear(); foreach (KNMPassiveSkillData nmapassiveSkillData in skillList.PassiveSkillData) { PassiveSkillData passiveSkillData = new PassiveSkillData(); passiveSkillData.Level = nmapassiveSkillData.SkillLevel; passiveSkillData.SkillID = nmapassiveSkillData.SkillID; KPassiveSkill passiveSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(passiveSkillData.SkillID, 1); if (passiveSkillSetting.SkillType > 0) { PassiveSkillDict.Add(passiveSkillData.SkillID, passiveSkillData); } else { TalentSkillDict.Add(passiveSkillData.SkillID, passiveSkillData); } } }