private void RegistSkillTreeClick(SkillElem skillElem) { UGUIEventListener.Get(skillElem.RootGo).onClick = arg => { mSkillDescWnd.SetSkillData(skillElem.SkillBase.ID); mSkillDescWnd.Show(); }; }
private void RegistEquipingSkillDrop(SkillElem skillElem, int slotIdx) { UGUIDrogListener.Get(skillElem.RootGo).onDrop = arg => { if (UIDragHelper.Instance.OnDrop(arg)) { if (null == mDragingSkill) { return; } List <SkillItem> tmpSkillItemList = mSkillLinkList[mSelectedEuqipedSoltIdx].SkillItems; SkillItem tmpSkillItem = null; if (slotIdx >= tmpSkillItemList.Count) { tmpSkillItem = new SkillItem(); tmpSkillItemList.Add(tmpSkillItem); } else { tmpSkillItem = tmpSkillItemList[slotIdx]; } tmpSkillItem.Init(mDragingSkill.SkillBase.ID, 1); RefreshEquipingSkill(); if (tmpSkillItemList.Count == 1 || slotIdx == 0) { RefreshEquipedSkill(); } } }; }
private void RegistSkillTreeDragEnd(SkillElem skillElem) { UGUIDrogListener.Get(skillElem.RootGo).onEndDrag = arg => { if (UIDragHelper.Instance.EndDrag(arg)) { mDragingSkill = null; } }; }
private void RegistSkillTreeDragBegin(SkillElem skillElem) { UGUIDrogListener.Get(skillElem.RootGo).onBeginDrag = arg => { if (UIDragHelper.Instance.BeginDrag(arg, skillElem.IconImg.gameObject, mGameObejct.transform)) { mDragingSkill = skillElem; } }; }
protected override void AfterInit() { base.AfterInit(); mSkillPage1Toggle = Find <Toggle>("Toggle_Page1"); mSkillPage1Toggle.onValueChanged.AddListener(OnValueChangePage1); var tmpPage2 = Find <Toggle>("Toggle_Page2"); tmpPage2.onValueChanged.AddListener(OnValueChangePage2); GameObject tmpSkillTemplate = Find("SkillItemTemplate"); GameObject tmpSkillTreeGo = Find($"ScrollView_SkillTree"); if (null != tmpSkillTreeGo) { mSkillTreeGT = new UIGridTool(Find(tmpSkillTreeGo, "Content"), tmpSkillTemplate); } GameObject tmpEquipedSkillGo = Find("EquipedSkill"); for (int i = 0, max = 6; i < max; ++i) { GameObject tmpGo = Find(tmpEquipedSkillGo, $"Toggle_Skill{i}"); if (null != tmpGo) { SkillElem tmpSkillElem = new SkillElem(); tmpSkillElem.Init(tmpGo); mEquipedSkills.Add(tmpSkillElem); RegistEquipedSlotClick(tmpSkillElem, i); } } mEquipingRootGo = Find("EquipingSkill"); for (int i = 0, max = 5; i < max; ++i) { GameObject tmpGo = Find(mEquipingRootGo, $"Toggle_Skill{i}"); if (null != tmpGo) { SkillElem tmpSkillElem = new SkillElem(); tmpSkillElem.Init(tmpGo); mEquipingSkills.Add(tmpSkillElem); RegistEquipingSkillDragBegin(tmpSkillElem, i); RegistEquipingSkillDrag(tmpSkillElem); RegistEquipingSkillDragEnd(tmpSkillElem, i); RegistEquipingSkillDrop(tmpSkillElem, i); } } RegisterEventClick(Find("Button_Back"), OnBackBtnClick); }
private void RegistEquipingSkillDragBegin(SkillElem skillElem, int slotIdx) { UGUIDrogListener.Get(skillElem.RootGo).onBeginDrag = arg => { if (null == skillElem.SkillBase) { return; } if (UIDragHelper.Instance.BeginDrag(arg, skillElem.IconImg.gameObject, mGameObejct.transform)) { } }; }
private void RegistEquipedSlotClick(SkillElem skillElem, int slotIdx) { UGUIEventListener.Get(skillElem.RootGo).onClick = arg => { if (mSelectedEuqipedSoltIdx == slotIdx) { SetActive(mEquipingRootGo, false); mSelectedEuqipedSoltIdx = -1; } else { SetActive(mEquipingRootGo, true); mSelectedEuqipedSoltIdx = slotIdx; RefreshEquipingSkill(); } }; }
private void RegistEquipingSkillDragEnd(SkillElem skillElem, int slotIdx) { UGUIDrogListener.Get(skillElem.RootGo).onEndDrag = arg => { if (UIDragHelper.Instance.EndDrag(arg)) { if (arg.pointerCurrentRaycast.gameObject != skillElem.RootGo) { List <SkillItem> tmpSkillItemList = mSkillLinkList[mSelectedEuqipedSoltIdx].SkillItems; if (slotIdx < tmpSkillItemList.Count) { tmpSkillItemList.RemoveAt(slotIdx); } RefreshEquipingSkill(); if (tmpSkillItemList.Count == 0 || slotIdx == 0) { RefreshEquipedSkill(); } } } }; }
private void RegistEquipingSkillDrag(SkillElem skillElem) { UGUIDrogListener.Get(skillElem.RootGo).onDrag = arg => { UIDragHelper.Instance.Draging(arg); }; }
private void InitSkillTree() { var tmpPlayerCtrl = Game.ControllerMgr.Get <PlayerController>(); UnitExtraBase tmpUnitExtraBase = UnitExtraBaseManager.instance.Find(tmpPlayerCtrl.UnitID); Dictionary <int, List <SkillBase> > tmpTreeType2Skills = new Dictionary <int, List <SkillBase> >(); for (int i = 0, max = tmpUnitExtraBase.Skills.data.Count; i < max; ++i) { SkillBase tmpSkillBase = SkillBaseManager.instance.Find(tmpUnitExtraBase.Skills.data[i]); if (null != tmpSkillBase) { List <SkillBase> tmpSkills = null; if (!tmpTreeType2Skills.TryGetValue(tmpSkillBase.TreeType, out tmpSkills)) { tmpSkills = new List <SkillBase>(); tmpTreeType2Skills.Add(tmpSkillBase.TreeType, tmpSkills); } tmpSkills.Add(tmpSkillBase); } } int tmpMaxRow = 0; foreach (var elem in tmpTreeType2Skills) { if (elem.Value.Count > tmpMaxRow) { tmpMaxRow = elem.Value.Count; } } mSkillTreeGT.GenerateElem(tmpMaxRow); for (int i = 0, max = 3; i < max; ++i) { List <SkillBase> tmpSkills = null; if (!tmpTreeType2Skills.TryGetValue(i, out tmpSkills)) { continue; } for (int j = 0, jmax = tmpMaxRow; j < jmax; ++j) { GameObject tmpRowGo = mSkillTreeGT.Get(j); SkillElem[] tmpRowElems = null; if (j < mSkillTreeItems.Count) { tmpRowElems = mSkillTreeItems[j]; } else { tmpRowElems = new SkillElem[3]; mSkillTreeItems.Add(tmpRowElems); } SkillElem tmpSkillElem = tmpRowElems[i]; if (null == tmpSkillElem) { tmpSkillElem = new SkillElem(); tmpSkillElem.Init(Find(tmpRowGo, $"SkillItem{i}")); tmpRowElems[i] = tmpSkillElem; } if (j < tmpSkills.Count) { SetActive(tmpSkillElem.RootGo, true); tmpSkillElem.Refresh(tmpSkills[j]); SetActive(tmpSkillElem.LinkLineGo, j != tmpSkills.Count - 1); RegistSkillTreeDragBegin(tmpSkillElem); RegistSkillTreeDrag(tmpSkillElem); RegistSkillTreeDragEnd(tmpSkillElem); RegistSkillTreeClick(tmpSkillElem); } else { SetActive(tmpSkillElem.RootGo, false); } } } }