Пример #1
0
 private void RegistSkillTreeClick(SkillElem skillElem)
 {
     UGUIEventListener.Get(skillElem.RootGo).onClick = arg => {
         mSkillDescWnd.SetSkillData(skillElem.SkillBase.ID);
         mSkillDescWnd.Show();
     };
 }
Пример #2
0
        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();
                    }
                }
            };
        }
Пример #3
0
 private void RegistSkillTreeDragEnd(SkillElem skillElem)
 {
     UGUIDrogListener.Get(skillElem.RootGo).onEndDrag = arg => {
         if (UIDragHelper.Instance.EndDrag(arg))
         {
             mDragingSkill = null;
         }
     };
 }
Пример #4
0
 private void RegistSkillTreeDragBegin(SkillElem skillElem)
 {
     UGUIDrogListener.Get(skillElem.RootGo).onBeginDrag = arg => {
         if (UIDragHelper.Instance.BeginDrag(arg, skillElem.IconImg.gameObject, mGameObejct.transform))
         {
             mDragingSkill = skillElem;
         }
     };
 }
Пример #5
0
        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);
        }
Пример #6
0
        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))
                {
                }
            };
        }
Пример #7
0
 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();
         }
     };
 }
Пример #8
0
        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();
                        }
                    }
                }
            };
        }
Пример #9
0
 private void RegistEquipingSkillDrag(SkillElem skillElem)
 {
     UGUIDrogListener.Get(skillElem.RootGo).onDrag = arg => {
         UIDragHelper.Instance.Draging(arg);
     };
 }
Пример #10
0
        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);
                    }
                }
            }
        }