浏览代码

Merge branch 'master' of http://192.168.123.2:3000/ck/XiuXianGame

zg 4 天之前
父节点
当前提交
fab882c925
共有 1 个文件被更改,包括 124 次插入9 次删除
  1. 124 9
      Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

+ 124 - 9
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

@@ -578,11 +578,12 @@ namespace Fort23.Mono
 
         List<List<int>> indexList = new List<List<int>>()
         {
-            new List<int>() { 0, 1, 9 }, //金
-            new List<int>() { 4, 5, 3 }, //木
-            new List<int>() { 2, 3, 1 }, //水
-            new List<int>() { 6, 7, 5 }, //火
-            new List<int>() { 8, 9, 7 }, //土
+            new List<int>() { 9, 8, 7 }, //金
+            new List<int>() { 7, 6, 5 }, //木
+            new List<int>() { 1, 0, 9 }, //水
+            new List<int>() { 5, 4, 3 }, //火
+            new List<int>() { 7, 6, 5 }, //土
+            new List<int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, //辅助
         };
 
         private void Sort(int type1, int type2)
@@ -786,6 +787,12 @@ namespace Fort23.Mono
             //直接上功法
             if (skillKongWidget.SkillInfo == null && dianjiSkillKongWidget == null && selectSkillConfig != null)
             {
+                if (!IsCurrentPosUse(selectSkillConfig, skillKongWidget))
+                {
+                    CloseSelect();
+                    return;
+                }
+
                 if (selectSkillConfig.skillConfig.SkillType == 1)
                 {
                     if (!IsMainGongFaChange(selectSkillConfig.skillConfig))
@@ -809,6 +816,7 @@ namespace Fort23.Mono
 
                 isAlter = true;
 
+
                 skillKongWidget.SetSKill(selectSkillConfig);
                 allUseSkill[skillKongWidget.index] = selectSkillConfig;
                 if (selectSkillConfig.skillConfig.SkillType == 1)
@@ -846,6 +854,11 @@ namespace Fort23.Mono
                     return;
                 }
 
+                if (!IsCurrentPosUse(selectSkillConfig, skillKongWidget))
+                {
+                    CloseSelect();
+                    return;
+                }
 
                 isAlter = true;
                 allUseSkill[skillKongWidget.SkillInfo.index] = null;
@@ -897,6 +910,12 @@ namespace Fort23.Mono
                 {
                     isAlter = true;
 
+                    if (!IsCurrentPosUse(selectSkillConfig, skillKongWidget))
+                    {
+                        CloseSelect();
+                        return;
+                    }
+
                     if (skillKongWidget.SkillInfo != null)
                     {
                         dianjiSkillKongWidget.SetSKill(skillKongWidget.SkillInfo);
@@ -927,6 +946,53 @@ namespace Fort23.Mono
             UpdateSkillWidget();
         }
 
+        private bool IsCurrentPosUse(SkillInfo skillConfig, SkillKongWidget skillKongWidget)
+        {
+            if (PlayerManager.Instance.myHero.level > 60)
+            {
+                return true;
+            }
+
+            int index = 0;
+            //金
+            if (skillConfig.skillConfig.attribute == 1)
+            {
+                index = 0;
+            }
+
+            //木
+            if (skillConfig.skillConfig.attribute == 2)
+            {
+                index = 1;
+            }
+
+            //水
+            if (skillConfig.skillConfig.attribute == 4)
+            {
+                index = 2;
+            }
+
+            //火
+            if (skillConfig.skillConfig.attribute == 8)
+            {
+                index = 3;
+            }
+
+            //土
+            if (skillConfig.skillConfig.attribute == 16)
+            {
+                index = 4;
+            }
+
+            //辅助
+            if (skillConfig.skillConfig.attribute == 0)
+            {
+                index = 5;
+            }
+
+            return indexList[index].Contains(skillKongWidget.index);
+        }
+
 
         public void SelectSkill(SkillInfo skillConfig, bool max, bool isClick)
         {
@@ -938,6 +1004,55 @@ namespace Fort23.Mono
 
             if (!max)
             {
+                int index = 5;
+                if (PlayerManager.Instance.myHero.level <= 60)
+                {
+                    //金
+                    if (skillConfig.skillConfig.attribute == 1)
+                    {
+                        index = 0;
+                    }
+
+                    //木
+                    if (skillConfig.skillConfig.attribute == 2)
+                    {
+                        index = 1;
+                    }
+
+                    //水
+                    if (skillConfig.skillConfig.attribute == 4)
+                    {
+                        index = 2;
+                    }
+
+                    //火
+                    if (skillConfig.skillConfig.attribute == 8)
+                    {
+                        index = 3;
+                    }
+
+                    //土
+                    if (skillConfig.skillConfig.attribute == 16)
+                    {
+                        index = 4;
+                    }
+                }
+
+
+                // //辅助
+                // if (skillConfig.skillConfig.attribute == 0)
+                //
+                //     index = 5;
+                // }
+
+
+                //先上对应位置
+                foreach (var i in indexList[index])
+                {
+                    allKongSkill[i].SelectState(true);
+                }
+
+
                 // if (isClick)
                 // {
                 //     int index = 0;
@@ -1020,10 +1135,10 @@ namespace Fort23.Mono
                 {
                     selectSkillConfig = skillConfig;
                     _isSelectSkill = true;
-                    for (int i = 0; i < allKongSkill.Count; i++)
-                    {
-                        allKongSkill[i].SelectState(true);
-                    }
+                    // for (int i = 0; i < allKongSkill.Count; i++)
+                    // {
+                    //     allKongSkill[i].SelectState(true);
+                    // }
                 }
             }
             else