public IEnumerator SendResetSkillTalentMsg(SkillBoxDataModel skillBoxData) { using (new BlockingLayerHelper(0)) { var msg = NetManager.Instance.ResetSkillTalent(skillBoxData.SkillId); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { PlatformHelper.Event("skill", "ResetSkillTalent", skillBoxData.SkillId); PlatformHelper.UMEvent("skill", "ResetSkillTalent", skillBoxData.SkillId); RestSkillTalentData(skillBoxData); RefreshTalentBoardDesc(currentShowTalentId); var e = new ShowUIHintBoard(709); EventDispatcher.Instance.DispatchEvent(e); } else { if (msg.ErrorCode == (int)ErrorCodes.ItemNotEnough) { var e = new ShowUIHintBoard(703); EventDispatcher.Instance.DispatchEvent(e); } else { UIManager.Instance.ShowNetError(msg.ErrorCode); } } } } }
public void RestSkillTalentData(SkillBoxDataModel skillBoxData) { var count = 0; var skillBoxDataSkillTalentsCount3 = skillBoxData.SkillTalents.Count; for (var i = 0; i < skillBoxDataSkillTalentsCount3; i++) { count += skillBoxData.SkillTalents[i].Count; } count += skillBoxData.LastCount; skillBoxData.LastCount = count; skillBoxData.CurrentCount = 0; if (PlayerDataManager.Instance.mSkillTalent.ContainsKey(skillBoxData.SkillId)) { PlayerDataManager.Instance.mSkillTalent[skillBoxData.SkillId] = count; } { // foreach(var talent in skillBoxData.SkillTalents) var __enumerator12 = (skillBoxData.SkillTalents).GetEnumerator(); while (__enumerator12.MoveNext()) { var talent = __enumerator12.Current; { talent.Count = 0; talent.InitializeTalentCell(); } } } //刷新受天赋影响的技能 PlayerDataManager.Instance.mAllSkills[skillBoxData.SkillId].RefreshSkillData(); }
public void RefreshSelected(SkillItemDataModel dataModel) { SkillDataModel.SelectSkill = dataModel; var skilldata = SkillDataModel; var selected = skilldata.SelectedSkillList[0]; selected.SkillId = dataModel.SkillId; selected.SkillLv = dataModel.SkillLv; var skillTable = Table.GetSkill(dataModel.SkillId); selected.ManaCast = StringConvert.Level_Value_Ref(skillTable.NeedMp, dataModel.SkillLv - 1); selected.SkillType = getSkillTypeString(skillTable.ControlType); selected.SkillItem = dataModel; var current = 0; // var skillTalent = PlayerDataManager.Instance.mSkillTalent; // if (skillTalent.ContainsKey(dataModel.SkillId)) // { // current = skillTalent[dataModel.SkillId]; // } var skillboxs = PlayerDataManager.Instance.PlayerDataModel.SkillData.SkillBoxes; SkillBoxDataModel box = null; for (var i = 0; i < skillboxs.Count; i++) { if (skillboxs[i].SkillId == dataModel.SkillId) { box = skillboxs[i]; break; } } if (null != box) { current = box.LastCount + box.CurrentCount; } selected.TalentCount = string.Format("{0}/{1}", current, skillTable.TalentMax); var selected2 = skilldata.SelectedSkillList[1]; selected2.SkillId = selected.SkillId; selected2.SkillLv = selected.SkillLv == 0 ? 2 : selected.SkillLv + 1; selected2.ManaCast = selected.ManaCast; selected2.SkillType = selected.SkillType; }
// Use this for initialization private void Start() { #if !UNITY_EDITOR try { #endif if (SkillBox == null) { return; } BoxDataModel = SkillBox.GetComponent <SkillOutBox>().BoxDataModel; //优先查找完成之后再设置隐藏 RefreshCurrentCount(); if (BoxDataModel == null) { return; } BoxDataModel.PropertyChanged += OnPropertyChangedEvent; Binding.SetBindDataSource(BoxDataModel); var name = Table.GetSkill(SkillId).Name; if (skillName1 == null) { Logger.Error("talent skillname uilabel is null skillID = {0}", SkillId); } else { skillName1.text = name; } #if !UNITY_EDITOR } catch (Exception ex) { Logger.Error(ex.ToString()); } #endif }
private IEnumerator SetupSkillTalent(SkillDataModel dataModel) { var holder = ResourceManager.PrepareResourceWithHolder <GameObject>(skillTalentPrefab[roleID]); yield return(holder.Wait()); var skillTalentFrame = Instantiate(holder.Resource) as GameObject; var t = skillTalentFrame.transform; //t.parent = SkillTalentRoot; t.SetParentEX(SkillTalentRoot); //touch.Initialize(t); var skillGuide = SkillTalentRoot.GetComponentsInChildren <SkillGuideHelper>(true); for (var i = 0; i < skillGuide.Length; i++) { skillGuide[i].Initialize(t); } t.localPosition = Vector3.zero; t.localRotation = Quaternion.identity; t.localScale = Vector3.one; if (!t.gameObject.activeSelf) { t.gameObject.SetActive(true); } var talentDic = new Dictionary <int, TalentCellDataModel>(); { // foreach(var talent in dataModel.Talents) var __enumerator2 = (dataModel.Talents).GetEnumerator(); while (__enumerator2.MoveNext()) { var talent = __enumerator2.Current; { talentDic.Add(talent.TalentId, talent); } } } var cacheDic = new Dictionary <int, List <TalentCellDataModel> >(); var skillCellLogicContainer = skillTalentFrame.GetComponentsInChildren <SkillTalentCell>(true); { var __array3 = skillCellLogicContainer; var __arrayLength3 = __array3.Length; for (var __i3 = 0; __i3 < __arrayLength3; ++__i3) { var logic = __array3[__i3]; { var talentEnable = false; TalentCellDataModel talentDataModel; if (talentDic.TryGetValue(logic.SkillTalentId, out talentDataModel)) { talentEnable = true; logic.CellDataModel = talentDataModel; } if (!talentEnable) { var talent = new TalentCellDataModel(); talent.TalentId = logic.SkillTalentId; talent.Count = 0; logic.CellDataModel = talent; var e = new UIEvent_SkillFrame_AddUnLearnedTalent(talent); EventDispatcher.Instance.DispatchEvent(e); } var talentTable = Table.GetTalent(logic.CellDataModel.TalentId); if (talentTable.ModifySkill != -1) { List <TalentCellDataModel> list; if (cacheDic.TryGetValue(talentTable.ModifySkill, out list)) { list.Add(logic.CellDataModel); } else { var l = new List <TalentCellDataModel>(); l.Add(logic.CellDataModel); cacheDic.Add(talentTable.ModifySkill, l); } } } } } var skillBoxContainer = skillTalentFrame.GetComponentsInChildren <SkillOutBox>(true); { dataModel.SkillBoxes.Clear(); var skillbox = skillBoxContainer; var length = skillbox.Length; var fristId = 0; for (var i = 0; i < length; ++i) { var skillBoxLogic = skillbox[i]; { var skillBox = new SkillBoxDataModel(); skillBox.SkillId = skillBoxLogic.SkillId; List <TalentCellDataModel> talentList; if (cacheDic.TryGetValue(skillBox.SkillId, out talentList)) { { var __list5 = talentList; var __listCount5 = __list5.Count; for (var __i5 = 0; __i5 < __listCount5; ++__i5) { var cellDataModel = __list5[__i5]; { skillBox.SkillTalents.Add(cellDataModel); } } } } skillBox.ShowSkillBox = 0; skillBoxLogic.BoxDataModel = skillBox; var e = new UIEvent_SkillFrame_AddSkillBoxDataModel(skillBox); EventDispatcher.Instance.DispatchEvent(e); if (i == 0) { fristId = skillBox.SkillId; } } } // EventDispatcher.Instance.DispatchEvent( // new UIEvent_SkillFrame_OnSkillTalentSelected(fristId)); var skilldata = PlayerDataManager.Instance.mAllSkills; var ievent = new UIEvent_SkillFrame_SkillSelect(skilldata[fristId]); EventDispatcher.Instance.DispatchEvent(ievent); } //天赋球数据好了初始化开放和已加点特效 var c = skillCellLogicContainer.Length; for (var i = 0; i < c; i++) { var logic = skillCellLogicContainer[i]; logic.InitEffect(); } initFinish = true; }