public IEnumerator SendResetTalentMsg() { using (new BlockingLayerHelper(0)) { var type = int.Parse(Table.GetClientConfig(258).Value); var count = int.Parse(Table.GetClientConfig(259).Value); var bagCount = PlayerDataManager.Instance.GetRes(type); //检查需求道具 if (bagCount < count) { var name = Table.GetItemBase(type).Name; var message = string.Format(GameUtils.GetDictionaryText(701), name); var e = new ShowUIHintBoard(message); EventDispatcher.Instance.DispatchEvent(e); yield break; } var msg = NetManager.Instance.ClearInnate(-1); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { PlatformHelper.UMEvent("skill", "ResetXiuLian"); var skillData = SkillDataModel; var talents = skillData.Talents; skillData.AttrPanel.Clear(); skillData.TalentResetButtonShow = false; var ee = new UIEvent_SkillFrame_RefreshTalentPanel(); EventDispatcher.Instance.DispatchEvent(ee); // foreach (var talent in talents) var enumerator = talents.GetEnumerator(); while (enumerator.MoveNext()) { var talent = enumerator.Current; if (Table.GetTalent(talent.TalentId).ModifySkill == -1) { talent.Count = 0; } } enumerator.Reset(); while (enumerator.MoveNext()) { var talent = enumerator.Current; if (Table.GetTalent(talent.TalentId).ModifySkill == -1) { talent.InitializeTalentCell(); } } skillData.TalentCount = msg.Response; var e = new ShowUIHintBoard(709); EventDispatcher.Instance.DispatchEvent(e); PlayerAttr.Instance.SetAttrChange(PlayerAttr.PlayerAttrChange.Talant); } else { UIManager.Instance.ShowNetError(msg.ErrorCode); } } } }
public void ChangeTalentCountToDataModel(int talentId) { var skillData = SkillDataModel; var skillID = Table.GetTalent(talentId).ModifySkill; if (skillID != -1) { { // foreach(var skillBoxDataModel in skillData.SkillBoxes) var __enumerator5 = (skillData.SkillBoxes).GetEnumerator(); while (__enumerator5.MoveNext()) { var skillBoxDataModel = __enumerator5.Current; { if (skillBoxDataModel.SkillId == skillID) { skillBoxDataModel.LastCount -= 1; skillBoxDataModel.CurrentCount += 1; PlayerDataManager.Instance.SkillTalentPointChange(skillBoxDataModel.SkillId, -1); break; } } } } } else { //skillData.TalentCount--; } //去掉修炼小红点 PlayerDataManager.Instance.NoticeData.PlayerTalentCount = 0;//skillData.TalentCount; var talentData = skillData.Talents; var list = new List <TalentCellDataModel>(); { // foreach(var talent in talentData) var __enumerator7 = (talentData).GetEnumerator(); while (__enumerator7.MoveNext()) { var talent = __enumerator7.Current; { if (talent.TalentId == talentId) { talent.Count++; list.Add(talent); } if (Table.GetTalent(talent.TalentId).BeforeId == talentId) { list.Add(talent); } } } } { var __list8 = list; var __listCount8 = __list8.Count; for (var __i8 = 0; __i8 < __listCount8; ++__i8) { var talentCellDataModel = __list8[__i8]; { talentCellDataModel.InitializeTalentCell(); } } } //刷新面板 if (skillData.AttrPanel.Count > 0) { skillData.AttrPanel.Clear(); } { // foreach(var talentCellDataModel in talentData) var __enumerator9 = (talentData).GetEnumerator(); while (__enumerator9.MoveNext()) { var talentCellDataModel = __enumerator9.Current; { if (talentCellDataModel.Count > 0) { SkillDataModelExtension.AddTalentAttrToPanel(skillData.AttrPanel, talentCellDataModel); } } } } SkillItemDataModel skillItem; if (PlayerDataManager.Instance.mAllSkills.TryGetValue(skillID, out skillItem)) { skillItem.RefreshSkillData(); } RefreshTalentBoardDesc(talentId); var e = new UIEvent_SkillFrame_RefreshTalentPanel(); EventDispatcher.Instance.DispatchEvent(e); }