private void UpateItem() { foreach (PassiveSkillData skillData in SkillLogic.GetInstance().TalentSkillDict.Values) { skillItems[skillData.SkillID].SkillData = skillData; } foreach (TalentSkillItem item in skillItems.Values) { KPassiveSkill passiveSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(item.SkillData.SkillID, item.SkillData.Level); List <KPassiveSkill> reqSkills = passiveSkillSetting.GetReqSkillList(); int count = reqSkills.Count; for (int i = 0; i < count; i++) { KPassiveSkill reqSkill = reqSkills[i]; PassiveSkillData reqSkillVO = skillItems[reqSkill.SkillID].SkillData; GameObject arrow; string key = "arrow_" + (reqSkill.Index - 1) + "_" + (passiveSkillSetting.Index - 1); //if(!arrowList.TryGetValue(key, out arrow)) //{ // Debug.Log(key + "-----------"); //} //if (reqSkillVO.Learned && reqSkillVO.currentSkill.Level >= reqSkill.Level) //{ // arrow.SetActive(true); //} //else //{ // arrow.SetActive(false); //} } } }
private void InitItem() { int Career = PlayerManager.GetInstance().MajorPlayer.Job - 1;//职业从1开始 int n = 0; uint skillID = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 6; j++) { if (i * 6 + j == postions[n]) { skillID = skillIDList[Career][n]; TalentSkillItem item = NGUITools.AddChild <TalentSkillItem>(gameObject); GameObject go = GameObject.Instantiate(addBtn.gameObject) as GameObject; UIEventListener.Get(go).onClick += OnUpgradeSkill; item.AddPointBtn(go); item.gameObject.transform.localPosition = posList[n++]; skillItems.Add(skillID, item); KPassiveSkill skill = KConfigFileManager.GetInstance().GetPassiveSkill(skillID, 1); PassiveSkillData skillData = new PassiveSkillData(); skillData.Learned = true; item.SkillData = skillData; if (n == 14) { i = 4; break; } } } } GameObject.Destroy(addBtn.gameObject); }
private void UpdateReqItem() { KPassiveSkill currSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(currentItem.SkillData.SkillID, currentItem.SkillData.Level); KPassiveSkill nextSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(currentItem.SkillData.SkillID, currentItem.SkillData.Level + 1); List <ItemInfo> itemList = null; int count = 0; if (currSkillSetting != null) { itemList = nextSkillSetting.GetReqItemList(); count = itemList.Count; reqLevelTxt.text = currSkillSetting.LearnLevel.ToString(); reqMenoryTxt.text = currSkillSetting.CostMoney.ToString(); } else { reqLevelTxt.text = ""; reqMenoryTxt.text = ""; } for (int i = 0; i < REQ_ITEM_COUNT; i++) { if (i < count) { reqItems[i].gameObject.SetActive(true); reqItems[i].ItemData = itemList[i]; } else { reqItems[i].gameObject.SetActive(false); } } }
protected override void UpdateIcon() { base.UpdateIcon(); KPassiveSkill nextSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(skillData.SkillID, skillData.Level + 1); if (SkillLogic.GetInstance().CanLearnTalent(skillData.SkillID) && SkillLogic.GetInstance().SkillPoint > 0 && nextSkillSetting != null) { addBtn.SetActive(true); } else { addBtn.SetActive(false); } }
//天赋是否能学习 public bool CanLearnTalent(uint skillID) { KPassiveSkill skill = KConfigFileManager.GetInstance().GetPassiveSkill(skillID, 1); //得到需要学习的技能 foreach (KPassiveSkill s in skill.GetReqSkillList()) //得到此技能需要学习的技能 { bool canLearn = false; foreach (PassiveSkillData skillData in TalentSkillDict.Values) { if (skillData.SkillID == s.SkillID) { } } } return(true); }
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); } } }
//升级主动技能 public void UpgradeSkill(uint skillID, int type) { int skillIdx = 0; if (type == 1) { skillIdx = 0; ActiveSkillData activeSkillData; if (ActiveSkillDict.TryGetValue(skillID, out activeSkillData) == false) { activeSkillData = new ActiveSkillData(); activeSkillData.SkillID = skillID; ActiveSkillDict.Add(skillID, activeSkillData); uint [] oldList = activeSkillList; activeSkillList = new uint[activeSkillList.Length + 1]; Array.Copy(oldList, activeSkillList, oldList.Length); activeSkillList[oldList.Length] = skillID; HashSet <uint> rushSkillList = KConfigFileManager.GetInstance().GetRushSkillSet(); if (!rushSkillList.Contains(skillID)) { for (int i = 0; i < ShortCutDataManager.Instance.Count; i++) { ShortCutData data = ShortCutDataManager.Instance.datas[i]; if (data.type == SHORTCUTITEM.NONE) { ButtonBarView.GetInstance().SetShortCut(i, SHORTCUTITEM.SKILL, (int)skillID, true); break; } } } } activeSkillData.Level += 1; KActiveSkill skill = KConfigFileManager.GetInstance().GetActiveSkill(activeSkillData.SkillID, activeSkillData.Level); activeSkillData.cdTicket.SetCD(skill.SkillCD); } else { KPassiveSkill passiveSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(skillID, 1); PassiveSkillData passiveSkillData; if (passiveSkillSetting.SkillType > 0) { if (PassiveSkillDict.TryGetValue(skillID, out passiveSkillData) == false) { passiveSkillData = new PassiveSkillData(); PassiveSkillDict.Add(skillID, passiveSkillData); } passiveSkillData.Level += 1; skillIdx = 1; } else { if (TalentSkillDict.TryGetValue(skillID, out passiveSkillData) == false) { passiveSkillData = new PassiveSkillData(); TalentSkillDict.Add(skillID, passiveSkillData); } passiveSkillData.Level += 1; skillIdx = 2; } } EventDispatcher.GameWorld.Dispath(ControllerCommand.UPDATE_SKILL, skillIdx, skillID); }