lzx 2 дней назад
Родитель
Сommit
d2ed51bda7

+ 1 - 4
Assets/Res/Config/EventConditionConfig.json

@@ -131,7 +131,7 @@
       "Operation": 0,
       "ConditionType": 5,
       "ConditionPara": [
-        1015
+        1003
       ],
       "finishCount": 3,
       "RelatedEvents": [
@@ -577,9 +577,6 @@
         1003
       ],
       "finishCount": 1,
-      "RelatedEvents": [
-        30003
-      ],
       "SkiptoIds": [
         1,
         2,

+ 9 - 5
Assets/Res/Config/EventLinkConfig.json

@@ -2369,10 +2369,14 @@
       "ConditionId": [
         36
       ],
-      "optionType": 0,
-      "ResultType": 3,
+      "optionType": 2,
+      "optionPara1": [
+        1003
+      ],
+      "ResultType": 2,
       "ResultOptions": [
-        10011
+        1001007,
+        101
       ]
     },
     {
@@ -2740,8 +2744,8 @@
       "EventID": 10013,
       "optionType": 1,
       "optionPara1": [
-        1001206,
-        1001206
+        1001306,
+        1001306
       ],
       "optionPara2": [
         5190,

+ 153 - 7
Assets/Res/UI/SkillSelectPanel/SkillSelectPanel.prefab

@@ -479,7 +479,7 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson/skillIcon.txt
     packgSpritePath: Assets/Res/UIAtlas/skillIcon.spriteatlasv2
     lasetJsonGUID: ba8dbdc12cfea95132d75e229eac99b8
-  imageH: 0
+  imageH: 73.2665
   useGradient: 0
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
@@ -1862,7 +1862,7 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson\battle.txt
     packgSpritePath: Assets/Res/UIAtlas/battle.spriteatlasv2
     lasetJsonGUID: b30151c7ca91f3adc1fcb725072e1a9f
-  imageH: 0
+  imageH: 82.141
   useGradient: 0
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
@@ -3210,7 +3210,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_Color: {r: 0.57155573, g: 0.7169812, b: 0.6582932, a: 0.8156863}
   m_RaycastTarget: 1
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
@@ -3219,7 +3219,7 @@ MonoBehaviour:
       m_Calls: []
   m_Sprite: {fileID: 0}
   m_Type: 0
-  m_PreserveAspect: 0
+  m_PreserveAspect: 1
   m_FillCenter: 1
   m_FillMethod: 4
   m_FillAmount: 1
@@ -3227,7 +3227,7 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
-  _icon_name: btn_close_03
+  _icon_name: dec_ty_x
   isNotLoadDeftIcon: 0
   CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
   packInfo:
@@ -3235,7 +3235,7 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
     packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
     lasetJsonGUID: 79270f649120427f1177de011e54987e
-  imageH: 0
+  imageH: 38.6113
   useGradient: 0
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
@@ -3739,6 +3739,7 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 2849870254427059589}
+  - {fileID: 4201003859133084461}
   - {fileID: 1774812024264171205}
   - {fileID: 4341027774775577007}
   m_Father: {fileID: 953277807175961835}
@@ -3923,6 +3924,7 @@ RectTransform:
   m_Children:
   - {fileID: 8031870718418499362}
   - {fileID: 39178269465296759}
+  - {fileID: 238731523395405108}
   m_Father: {fileID: 8153636129082282834}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -3971,6 +3973,16 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: InfoPos
+    gameObject: {fileID: 238731523395405108}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Icon_YingXiang
+    gameObject: {fileID: 4201003859133084461}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
 --- !u!1 &5280469173278725104
 GameObject:
@@ -4649,6 +4661,95 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls: []
+--- !u!1 &6762821833675836759
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4201003859133084461}
+  - component: {fileID: 904188502258490837}
+  - component: {fileID: 3043042469264254001}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Icon_YingXiang
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &4201003859133084461
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6762821833675836759}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8031870718418499362}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -2.0000305, y: 1.3999023}
+  m_SizeDelta: {x: 97.0548, y: 97.0547}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &904188502258490837
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6762821833675836759}
+  m_CullTransparentMesh: 1
+--- !u!114 &3043042469264254001
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6762821833675836759}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.07874654, b: 0.0047169924, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_yuanhuan_quse
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 08bcd577b76e3c94cacfc8e9783bd09a, type: 3}
+  packInfo:
+    packName: battle
+    packgJsonPath: /Art/UIAssets/TextrueJson\battle.txt
+    packgSpritePath: Assets/Res/UIAtlas/battle.spriteatlasv2
+    lasetJsonGUID: b30151c7ca91f3adc1fcb725072e1a9f
+  imageH: 82.141
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
 --- !u!1 &6835285763623382150
 GameObject:
   m_ObjectHideFlags: 0
@@ -5198,6 +5299,51 @@ MonoBehaviour:
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
+--- !u!1 &8366536429607992435
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 238731523395405108}
+  - component: {fileID: 7772942714632693403}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: InfoPos
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &238731523395405108
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8366536429607992435}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 953277807175961835}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -59.8}
+  m_SizeDelta: {x: 12.963, y: 12.963}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7772942714632693403
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8366536429607992435}
+  m_CullTransparentMesh: 1
 --- !u!1 &8374476484755925391
 GameObject:
   m_ObjectHideFlags: 0
@@ -5805,7 +5951,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &4047916813180227560
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Scripts/GameUI/UI/CombatPanel/SkillKongWidget.cs

@@ -47,7 +47,7 @@ namespace Fort23.Mono
             base.AddButtonEvent();
         }
 
-        public void SelectState(bool isSelect)
+        public void SelectState(bool isSelect) 
         {
             _isSelect = isSelect;
             myBg.color = _isSelect ? Color.green : Color.white;

+ 25 - 3
Assets/Scripts/GameUI/UI/CombatPanel/SkillKongWidgetData.cs

@@ -19,13 +19,13 @@ namespace Fort23.Mono
 	      return _icon;
 	     }
 	   }
-	  private Image _myBg;
-	  public Image myBg
+	  private MyImage _myBg;
+	  public MyImage myBg
 	   {
 	   get{
 	      if (_myBg == null)
 	       {
-	         _myBg  = GetUIUnit<Image>("myBg"); 
+	         _myBg  = GetUIUnit<MyImage>("myBg"); 
 	       }
 	      return _myBg;
 	     }
@@ -52,6 +52,28 @@ namespace Fort23.Mono
 	      return _Text_Tips;
 	     }
 	   }
+	  private RectTransform _InfoPos;
+	  public RectTransform InfoPos
+	   {
+	   get{
+	      if (_InfoPos == null)
+	       {
+	         _InfoPos  = GetUIUnit<RectTransform>("InfoPos"); 
+	       }
+	      return _InfoPos;
+	     }
+	   }
+	  private RectTransform _Icon_YingXiang;
+	  public RectTransform Icon_YingXiang
+	   {
+	   get{
+	      if (_Icon_YingXiang == null)
+	       {
+	         _Icon_YingXiang  = GetUIUnit<RectTransform>("Icon_YingXiang"); 
+	       }
+	      return _Icon_YingXiang;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 247 - 32
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

@@ -33,7 +33,7 @@ namespace Fort23.Mono
         /// </summary>
         private int infoType = 1;
 
-        SkillWidget currentSelectedSkill;
+        SkillInfo currentSelectedSkill;
 
         public static async CTask<SkillSelectPanel> OpenSkillSelectPanel()
         {
@@ -83,6 +83,8 @@ namespace Fort23.Mono
             currenRoadSkilId = PlayerManager.Instance.myHero.TaoismSkillId;
             UpdateSkillWidget();
             UpdateRoad();
+
+            CloseSelect();
             return base.AsyncInit(uiData);
         }
 
@@ -160,13 +162,14 @@ namespace Fort23.Mono
 
                     if (!IsPassiveGongFaChange(skills[i].skillConfig))
                         continue;
-                    allKongSkill[indexList[i]].SetSKill(skills[i]);
-                    allUseSkill[indexList[i]] = skills[i];
+                    allKongSkill[indexList[i][0]].SetSKill(skills[i]);
+                    allUseSkill[indexList[i][0]] = skills[i];
                 }
 
                 isAlter = true;
 
                 UpdateSkillWidget();
+                BaoChun();
             });
 
             Btn_ChangeOk.onClick.AddListener(() =>
@@ -188,7 +191,7 @@ namespace Fort23.Mono
             {
                 if (currentSelectedSkill != null)
                 {
-                    GongFaUpgradePanel gongFaUpgradePanel = await GongFaUpgradePanel.Open(currentSelectedSkill.skillConfigId);
+                    GongFaUpgradePanel gongFaUpgradePanel = await GongFaUpgradePanel.Open(currentSelectedSkill);
                     await gongFaUpgradePanel.UIClosed();
                     Sort(type1, type2);
                 }
@@ -327,13 +330,14 @@ namespace Fort23.Mono
                 UpdateSkillWidget();
                 CloseSelect();
             });
-            
+
             Sv.onValueChanged.AddListener((s) =>
             {
                 if (currentSelectedSkill == null)
                 {
                     return;
                 }
+
                 Btn_Info.transform.SetAsLastSibling();
             });
         }
@@ -352,6 +356,21 @@ namespace Fort23.Mono
             // 
         }
 
+        private void BaoChun()
+        {
+            // ChangeInfoType(1);
+            // if (isAlter)
+            {
+                PlayerManager.Instance.GongFaControl.SaveUseSkill(allUseSkill);
+
+                PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(currenRoadSkilId);
+                PlayerManager.Instance.myHero.heroData.TaoismSkillId = currenRoadSkilId;
+                AccountFileInfo.Instance.SavePlayerData();
+            }
+
+            isAlter = false;
+        }
+
         private void ChangeInfoType(int type)
         {
             if (type == 1)
@@ -374,7 +393,14 @@ namespace Fort23.Mono
 
         List<SkillInfo> showSkillInfo = new List<SkillInfo>();
 
-        List<int> indexList = new List<int>() { 0, 6, 8, 4, 2 };
+        List<List<int>> indexList = new List<List<int>>()
+        {
+            new List<int>() { 0, 1, 9 },
+            new List<int>() { 6, 7, 5 },
+            new List<int>() { 8, 9, 7 },
+            new List<int>() { 4, 5, 3 },
+            new List<int>() { 2, 3, 1 },
+        };
 
         private void Sort(int type1, int type2)
         {
@@ -503,15 +529,25 @@ namespace Fort23.Mono
 
         private SkillKongWidget dianjiSkillKongWidget;
 
-        private void OnClickSkillKongWidget(ItemWidgetBasic obj)
+        private async void OnClickSkillKongWidget(ItemWidgetBasic obj)
         {
+            SkillKongWidget skillKongWidget = obj as SkillKongWidget;
             if (infoType == 1)
+            {
+                if (skillKongWidget.SkillInfo == null)
+                    return;
+
+                GongFaUpgradePanel gongFaUpgradePanel = await GongFaUpgradePanel.Open(skillKongWidget.SkillInfo);
+                await gongFaUpgradePanel.UIClosed();
+                Sort(type1, type2);
                 return;
+            }
+
             Btn_Info.transform.SetParent(transform);
             Btn_Info.gameObject.SetActive(false);
-            currentSelectedSkill = null;
+            currentSelectedSkill = skillKongWidget.SkillInfo;
 
-            SkillKongWidget skillKongWidget = obj as SkillKongWidget;
+            // SkillKongWidget skillKongWidget = obj as SkillKongWidget;
 
             if (skillKongWidget.SkillInfo == null && dianjiSkillKongWidget == null && selectSkillConfig == null)
             {
@@ -548,30 +584,64 @@ namespace Fort23.Mono
                 skillKongWidget.SetSKill(selectSkillConfig);
                 allUseSkill[skillKongWidget.index] = selectSkillConfig;
                 CloseSelect();
+                BaoChun();
             }
             //替换功法
             else if (skillKongWidget.SkillInfo != null && dianjiSkillKongWidget == null && selectSkillConfig != null)
             {
-                if (allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType == 1)
+                // if (allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType == 1)
+                // {
+                //     if (!IsMainGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 1)
+                //     {
+                //         TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
+                //         CloseSelect();
+                //         return;
+                //     }
+                // }
+                //
+                // if (allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType == 2)
+                // {
+                //     if (!IsPassiveGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 2)
+                //     {
+                //         TipMessagePanel.OpenTipMessagePanel("被动功法已经上满");
+                //         CloseSelect();
+                //         return;
+                //     }
+                // }
+                if (!IsPassiveGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 2)
                 {
-                    if (!IsMainGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 1)
-                    {
-                        TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
-                        CloseSelect();
-                        return;
-                    }
+                    TipMessagePanel.OpenTipMessagePanel("被动功法已经上满");
+                    CloseSelect();
+                    return;
                 }
 
-                if (allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType == 2)
+                if (!IsMainGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 1)
                 {
-                    if (!IsPassiveGongFaChange(selectSkillConfig.skillConfig) && allUseSkill[skillKongWidget.SkillInfo.index].skillConfig.SkillType != 2)
-                    {
-                        TipMessagePanel.OpenTipMessagePanel("被动功法已经上满");
-                        CloseSelect();
-                        return;
-                    }
+                    TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
+                    CloseSelect();
+                    return;
                 }
 
+                // if (selectSkillConfig.skillConfig.SkillType == 1)
+                // {
+                //     if (!IsMainGongFaChange(selectSkillConfig.skillConfig))
+                //     {
+                //         TipMessagePanel.OpenTipMessagePanel("主动功法已经上满");
+                //         CloseSelect();
+                //         return;
+                //     }
+                // }
+                //
+                // if (selectSkillConfig.skillConfig.SkillType == 2)
+                // {
+                //     if (!IsPassiveGongFaChange(selectSkillConfig.skillConfig))
+                //     {
+                //         TipMessagePanel.OpenTipMessagePanel("被动功法已经上满");
+                //         CloseSelect();
+                //         return;
+                //     }
+                // }
+
 
                 isAlter = true;
                 allUseSkill[skillKongWidget.SkillInfo.index] = null;
@@ -579,6 +649,7 @@ namespace Fort23.Mono
                 allUseSkill[skillKongWidget.index] = selectSkillConfig;
                 skillKongWidget.SetSKill(selectSkillConfig);
                 CloseSelect();
+                BaoChun();
             }
             else
             {
@@ -595,7 +666,10 @@ namespace Fort23.Mono
                     dianjiSkillKongWidget = skillKongWidget;
                     Btn_RemoveGongFa.transform.position = dianjiSkillKongWidget.RemovePos.position;
                     Btn_RemoveGongFa.gameObject.SetActive(true);
-                    SelectSkill(skillKongWidget.SkillInfo, false);
+                    Btn_Info.transform.position = dianjiSkillKongWidget.InfoPos.position;
+                    Btn_Info.gameObject.SetActive(true);
+                    SelectSkill(skillKongWidget.SkillInfo, false, false);
+                    // BaoChun();
                 }
                 else
                 {
@@ -615,6 +689,7 @@ namespace Fort23.Mono
                     skillKongWidget.SetSKill(selectSkillConfig);
                     allUseSkill[skillKongWidget.index] = selectSkillConfig;
                     CloseSelect();
+                    BaoChun();
                 }
             }
 
@@ -622,24 +697,106 @@ namespace Fort23.Mono
         }
 
 
-        public void SelectSkill(SkillInfo skillConfig, bool max)
+        public void SelectSkill(SkillInfo skillConfig, bool max, bool isClick)
         {
-            selectSkillConfig = skillConfig;
-            _isSelectSkill = true;
             for (int i = 0; i < allKongSkill.Count; i++)
             {
                 allKongSkill[i].SelectState(false);
             }
 
+
             if (!max)
             {
-                for (int i = 0; i < allKongSkill.Count; i++)
+                if (isClick)
+                {
+                    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;
+                    }
+
+                    bool isSuccess = false;
+
+                    //先上对应位置
+                    foreach (var i in indexList[index])
+                    {
+                        if (allKongSkill[i].SkillInfo == null)
+                        {
+                            allKongSkill[i].SetSKill(skillConfig);
+                            allUseSkill[i] = skillConfig;
+                            isSuccess = true;
+                            break;
+                        }
+                    }
+
+                    //对应位置已经上了 ,就随便找给位置上
+                    if (!isSuccess)
+                    {
+                        for (var i = 0; i < allKongSkill.Count; i++)
+                        {
+                            if (allKongSkill[i].SkillInfo == null)
+                            {
+                                allKongSkill[i].SetSKill(skillConfig);
+                                allUseSkill[i] = skillConfig;
+                                break;
+                            }
+                        }
+                    }
+
+                    if (isSuccess)
+                    {
+                        BaoChun();
+                        ChangeFuZhuYingXiang();
+                        UpdateSkillWidget();
+                    }
+                    else
+                    {
+                        for (int i = 0; i < allKongSkill.Count; i++)
+                        {
+                            allKongSkill[i].SelectState(true);
+                        }
+                    }
+                }
+                else
                 {
-                    allKongSkill[i].SelectState(true);
+                    selectSkillConfig = skillConfig;
+                    _isSelectSkill = true;
+                    for (int i = 0; i < allKongSkill.Count; i++)
+                    {
+                        allKongSkill[i].SelectState(true);
+                    }
                 }
             }
             else
             {
+                selectSkillConfig = skillConfig;
+                _isSelectSkill = true;
                 for (int i = 0; i < allKongSkill.Count; i++)
                 {
                     if (allKongSkill[i].SkillInfo != null)
@@ -650,6 +807,8 @@ namespace Fort23.Mono
             }
         }
 
+        List<int> yingxiang = new List<int>();
+
         private void CloseSelect()
         {
             _isSelectSkill = false;
@@ -661,12 +820,68 @@ namespace Fort23.Mono
             Btn_Info.gameObject.SetActive(false);
             currentSelectedSkill = null;
 
+
             for (int i = 0; i < allKongSkill.Count; i++)
             {
                 allKongSkill[i].SelectState(false);
             }
+
+            ChangeFuZhuYingXiang();
         }
 
+        private void ChangeFuZhuYingXiang()
+        {
+            yingxiang.Clear();
+            for (int i = 0; i < allKongSkill.Count; i++)
+            {
+                allKongSkill[i].Icon_YingXiang.gameObject.SetActive(false);
+
+                if (allKongSkill[i].SkillInfo != null && allKongSkill[i].SkillInfo.skillConfig.SkillType == 2 && allKongSkill[i].SkillInfo.skillConfig.PromoteLanPara_1 != null)
+                {
+                    foreach (var f in allKongSkill[i].SkillInfo.skillConfig.PromoteLanPara_1)
+                    {
+                        if (f != 0)
+                        {
+                            var nubs = GetNumbers(i, f);
+                            foreach (var nub in nubs)
+                            {
+                                if (!yingxiang.Contains(nub))
+                                {
+                                    yingxiang.Add(nub);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+
+            foreach (var i in yingxiang)
+            {
+                allKongSkill[i].Icon_YingXiang.gameObject.SetActive(true);
+            }
+        }
+
+        public List<int> GetNumbers(int start, float offset)
+        {
+            List<int> indexs = new List<int>();
+
+
+            for (int i = 0; i < Math.Abs(offset); i++)
+            {
+                if (offset >= 0)
+                {
+                    indexs.Add(SafeMod(start + i + 1));
+                }
+                else
+                {
+                    indexs.Add(SafeMod(start - i - 1));
+                }
+            }
+
+            // 确保结果在0-9范围内(循环数组)
+            int SafeMod(int n) => (n % 10 + 10) % 10;
+            return indexs;
+        }
 
         public override void Hide()
         {
@@ -730,7 +945,7 @@ namespace Fort23.Mono
                 Btn_Info.transform.SetParent(ContentRoot);
                 Btn_Info.transform.position = skillWidget.InfoPos.position;
                 Btn_Info.gameObject.SetActive(true);
-                currentSelectedSkill = skillWidget;
+                currentSelectedSkill = skillWidget.skillConfigId;
                 if (allUseSkill.Contains(skillWidget.skillConfigId))
                 {
                     return;
@@ -741,11 +956,11 @@ namespace Fort23.Mono
 
                 if (!IsMainGongFaChange(skillWidget.skillConfigId.skillConfig) || !IsPassiveGongFaChange(skillWidget.skillConfigId.skillConfig))
                 {
-                    SelectSkill(skillWidget.skillConfigId, true);
+                    SelectSkill(skillWidget.skillConfigId, true, true);
                 }
                 else
                 {
-                    SelectSkill(skillWidget.skillConfigId, false);
+                    SelectSkill(skillWidget.skillConfigId, false, true);
                 }
             }
         }

BIN
Excel2Json/Excel/skill.xlsx