Explorar o código

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

# Conflicts:
#	Excel2Json/Excel/FabaoConfig.xlsx   resolved by master version
#	UserSettings/Layouts/default-2022.dwlt   resolved by master version
邹舸 hai 6 días
pai
achega
496d15eb98
Modificáronse 24 ficheiros con 1748 adicións e 1003 borrados
  1. 315 0
      Assets/Res/UI/MainHeroPanel/BtnFaBaoWidget.prefab
  2. 7 0
      Assets/Res/UI/MainHeroPanel/BtnFaBaoWidget.prefab.meta
  3. 0 45
      Assets/Res/UI/MainHeroPanel/FaBaoWidget.prefab
  4. 66 826
      Assets/Res/UI/MainHeroPanel/MainHeroPanel.prefab
  5. 867 56
      Assets/Res/UI/MainHeroPanel/SelectFaBaoPanel.prefab
  6. 2 2
      Assets/Scenes/testCombat.scene
  7. 5 0
      Assets/Scripts/GameLogic/Combat/Hero/MagicWeaponControl.cs
  8. 44 2
      Assets/Scripts/GameLogic/Hero/FaBaoInfo.cs
  9. 26 1
      Assets/Scripts/GameLogic/Player/AccountFileInfo.cs
  10. 22 0
      Assets/Scripts/GameLogic/Player/FaBaoControl.cs
  11. 5 4
      Assets/Scripts/GameLogic/Player/PlayerManager.cs
  12. 13 1
      Assets/Scripts/GameUI/GameApplction.cs
  13. 6 1
      Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs
  14. 49 0
      Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidget.cs
  15. 11 0
      Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidget.cs.meta
  16. 40 0
      Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidgetData.cs
  17. 11 0
      Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidgetData.cs.meta
  18. 4 3
      Assets/Scripts/GameUI/UI/MainHeroPnael/FaBaoWidget.cs
  19. 36 9
      Assets/Scripts/GameUI/UI/MainHeroPnael/MainHeroPanel.cs
  20. 10 43
      Assets/Scripts/GameUI/UI/MainHeroPnael/MainHeroPanelData.cs
  21. 120 10
      Assets/Scripts/GameUI/UI/MainHeroPnael/SelectFaBaoPanel.cs
  22. 88 0
      Assets/Scripts/GameUI/UI/MainHeroPnael/SelectFaBaoPanelData.cs
  23. 0 0
      Assets/StreamingAssets/assetConfig.txt
  24. 1 0
      XiuXianGame.sln.DotSettings.user

+ 315 - 0
Assets/Res/UI/MainHeroPanel/BtnFaBaoWidget.prefab

@@ -0,0 +1,315 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &21721280625406477
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4530474433833993076}
+  - component: {fileID: 1573209486526979868}
+  - component: {fileID: 6311924752779876632}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_OnClick
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4530474433833993076
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 21721280625406477}
+  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: 5438064346362230487}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 50, y: -50}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1573209486526979868
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 21721280625406477}
+  m_CullTransparentMesh: 1
+--- !u!114 &6311924752779876632
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 21721280625406477}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.003921569}
+  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
+--- !u!1 &3727712782042117659
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5438064346362230487}
+  - component: {fileID: 3423600382099007957}
+  - component: {fileID: 6807793869742803418}
+  - component: {fileID: 3581569104862614048}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: BtnFaBaoWidget
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5438064346362230487
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3727712782042117659}
+  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:
+  - {fileID: 8156380050520585067}
+  - {fileID: 1790657340758011659}
+  - {fileID: 4530474433833993076}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 121, y: -1340.7}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3423600382099007957
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3727712782042117659}
+  m_CullTransparentMesh: 1
+--- !u!114 &6807793869742803418
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3727712782042117659}
+  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: 0.8000001, g: 0.8000001, b: 0.8000001, 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: 
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 0}
+  packInfo:
+    packName: 
+    packgJsonPath: 
+    packgSpritePath: 
+    lasetJsonGUID: 
+--- !u!114 &3581569104862614048
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3727712782042117659}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: FaBaoRoot
+    gameObject: {fileID: 1790657340758011659}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_Tips
+    gameObject: {fileID: 4528226286090984067}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1
+--- !u!1 &4528226286090984067
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8156380050520585067}
+  - component: {fileID: 3524983628540556875}
+  - component: {fileID: 6357025073236552224}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Text_Tips
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8156380050520585067
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4528226286090984067}
+  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: 5438064346362230487}
+  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: 0}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3524983628540556875
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4528226286090984067}
+  m_CullTransparentMesh: 1
+--- !u!114 &6357025073236552224
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4528226286090984067}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, 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_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 35
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Null
+--- !u!1 &7055209374934089222
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1790657340758011659}
+  - component: {fileID: 2811671220144649283}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: FaBaoRoot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1790657340758011659
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7055209374934089222}
+  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: 5438064346362230487}
+  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: -9.2}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2811671220144649283
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7055209374934089222}
+  m_CullTransparentMesh: 1

+ 7 - 0
Assets/Res/UI/MainHeroPanel/BtnFaBaoWidget.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: C3sXvS2lU3IVexsP8IWLSQOA74ppvFSn3TE+GXCPNrGEZaWo9itclZpxX2GJ
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 45
Assets/Res/UI/MainHeroPanel/FaBaoWidget.prefab

@@ -11,7 +11,6 @@ GameObject:
   - component: {fileID: 3600548847287801475}
   - component: {fileID: 3600548847287801475}
   - component: {fileID: 2176209277412620002}
   - component: {fileID: 2176209277412620002}
   - component: {fileID: 2770940956415629337}
   - component: {fileID: 2770940956415629337}
-  - component: {fileID: 1028235191169311421}
   m_Layer: 0
   m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: Icon_FaBaoIcon
   m_Name: Icon_FaBaoIcon
@@ -85,50 +84,6 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson/skillIcon.txt
     packgJsonPath: /Art/UIAssets/TextrueJson/skillIcon.txt
     packgSpritePath: Assets/Res/UIAtlas/skillIcon.spriteatlasv2
     packgSpritePath: Assets/Res/UIAtlas/skillIcon.spriteatlasv2
     lasetJsonGUID: 151dde130cdc5228de9614f608886409
     lasetJsonGUID: 151dde130cdc5228de9614f608886409
---- !u!114 &1028235191169311421
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1305485169672742227}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Navigation:
-    m_Mode: 3
-    m_WrapAround: 0
-    m_SelectOnUp: {fileID: 0}
-    m_SelectOnDown: {fileID: 0}
-    m_SelectOnLeft: {fileID: 0}
-    m_SelectOnRight: {fileID: 0}
-  m_Transition: 1
-  m_Colors:
-    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
-    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
-    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
-    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
-    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
-    m_ColorMultiplier: 1
-    m_FadeDuration: 0.1
-  m_SpriteState:
-    m_HighlightedSprite: {fileID: 0}
-    m_PressedSprite: {fileID: 0}
-    m_SelectedSprite: {fileID: 0}
-    m_DisabledSprite: {fileID: 0}
-  m_AnimationTriggers:
-    m_NormalTrigger: Normal
-    m_HighlightedTrigger: Highlighted
-    m_PressedTrigger: Pressed
-    m_SelectedTrigger: Selected
-    m_DisabledTrigger: Disabled
-  m_Interactable: 1
-  m_TargetGraphic: {fileID: 2770940956415629337}
-  m_OnClick:
-    m_PersistentCalls:
-      m_Calls: []
 --- !u!1 &1870278890380576931
 --- !u!1 &1870278890380576931
 GameObject:
 GameObject:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 66 - 826
Assets/Res/UI/MainHeroPanel/MainHeroPanel.prefab


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 867 - 56
Assets/Res/UI/MainHeroPanel/SelectFaBaoPanel.prefab


+ 2 - 2
Assets/Scenes/testCombat.scene

@@ -1869,7 +1869,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
       objectReference: {fileID: 0}
     - target: {fileID: 6090200664286961698, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
     - target: {fileID: 6090200664286961698, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
       propertyPath: myHeroInfo.Array.data[0].magicWeaponId.Array.data[0]
       propertyPath: myHeroInfo.Array.data[0].magicWeaponId.Array.data[0]
-      value: 10010
+      value: 10002
       objectReference: {fileID: 0}
       objectReference: {fileID: 0}
     - target: {fileID: 9214784224709271120, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
     - target: {fileID: 9214784224709271120, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
       propertyPath: m_Name
       propertyPath: m_Name
@@ -1877,7 +1877,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
       objectReference: {fileID: 0}
     - target: {fileID: 9214784224709271120, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
     - target: {fileID: 9214784224709271120, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
       propertyPath: m_IsActive
       propertyPath: m_IsActive
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
       objectReference: {fileID: 0}
     m_RemovedComponents: []
     m_RemovedComponents: []
     m_RemovedGameObjects: []
     m_RemovedGameObjects: []

+ 5 - 0
Assets/Scripts/GameLogic/Combat/Hero/MagicWeaponControl.cs

@@ -57,6 +57,11 @@ namespace GameLogic.Combat.Hero
             List<FaBaoInfo> MagicWeaponID = combatHeroEntity.CurrCombatHeroInfo.MagicWeaponID;
             List<FaBaoInfo> MagicWeaponID = combatHeroEntity.CurrCombatHeroInfo.MagicWeaponID;
             for (int i = 0; i < MagicWeaponID.Count; i++)
             for (int i = 0; i < MagicWeaponID.Count; i++)
             {
             {
+                if (MagicWeaponID[i] == null)
+                {
+                    continue;
+                }
+
                 CombatMagicWeaponEntity heroEntity = new CombatMagicWeaponEntity();
                 CombatMagicWeaponEntity heroEntity = new CombatMagicWeaponEntity();
                 heroEntity.IsEnemy = combatHeroEntity.IsEnemy;
                 heroEntity.IsEnemy = combatHeroEntity.IsEnemy;
                 heroEntity.number = i;
                 heroEntity.number = i;

+ 44 - 2
Assets/Scripts/GameLogic/Hero/FaBaoInfo.cs

@@ -21,13 +21,55 @@ namespace GameLogic.Hero
         public long qiangDu;
         public long qiangDu;
 
 
         public Dictionary<int, long> attriButedIC = new Dictionary<int, long>();
         public Dictionary<int, long> attriButedIC = new Dictionary<int, long>();
+        
+        public AccountFileInfo.FaBaoData FaBaoData; 
+
+        public FaBaoInfo(AccountFileInfo.FaBaoData faBaoData)
+        {
+            CustomInit(faBaoData);
+        }
+
+        public void UpGrade()
+        {
+            FaBaoData.level++;
+            CustomInit(FaBaoData);
+            AccountFileInfo.Instance.SavePlayerData();
+        }
 
 
         public FaBaoInfo(int id, int powerupId, int start = 1)
         public FaBaoInfo(int id, int powerupId, int start = 1)
         {
         {
-            star = 1;
+            FaBaoData = new AccountFileInfo.FaBaoData();
+            FaBaoData.level= powerupId;
+            FaBaoData.id = id;
+            // FaBaoData.useIndex = start;
             FabaoConfig = ConfigComponent.Instance.Get<FabaoConfig>(id);
             FabaoConfig = ConfigComponent.Instance.Get<FabaoConfig>(id);
             FabaoPowerupConfig = ConfigComponent.Instance.Get<FabaoPowerupConfig>(powerupId);
             FabaoPowerupConfig = ConfigComponent.Instance.Get<FabaoPowerupConfig>(powerupId);
-            SkillConfig = ConfigComponent.Instance.Get<SkillConfig>(FabaoConfig.SkillGroupID * 10 + start - 1);
+            SkillConfig = ConfigComponent.Instance.Get<SkillConfig>(FabaoConfig.SkillGroupID * 10 + FabaoPowerupConfig.SkillLevel - 1);
+
+            effectValue = new float[SkillConfig.effectValue.Length];
+            Array.Copy(SkillConfig.effectValue, effectValue, SkillConfig.effectValue.Length);
+
+            attriButedIC.Clear();
+
+            //计算加得属性
+            for (var i = 0; i < FabaoConfig.ShuxingIDs.Length; i++)
+            {
+                long attribute = GetAttriBute(FabaoConfig.ShuxingIDs[i]);
+                long value = (long)(attribute * FabaoConfig.ShuxingPara[0] * 0.01f);
+                attriButedIC.Add(FabaoConfig.ShuxingIDs[i], value);
+            }
+
+            qiangDu = (long)(FabaoPowerupConfig.Power * SkillConfig.power * 0.01f);
+        }
+
+        public void CustomInit(AccountFileInfo.FaBaoData faBaoData)
+        {
+            FaBaoData = faBaoData;
+            
+        
+            FabaoConfig = ConfigComponent.Instance.Get<FabaoConfig>(faBaoData.id);
+            FabaoPowerupConfig = ConfigComponent.Instance.Get<FabaoPowerupConfig>(faBaoData.level);
+            SkillConfig = ConfigComponent.Instance.Get<SkillConfig>(FabaoConfig.SkillGroupID * 10 + FabaoPowerupConfig.SkillLevel - 1);
 
 
             effectValue = new float[SkillConfig.effectValue.Length];
             effectValue = new float[SkillConfig.effectValue.Length];
             Array.Copy(SkillConfig.effectValue, effectValue, SkillConfig.effectValue.Length);
             Array.Copy(SkillConfig.effectValue, effectValue, SkillConfig.effectValue.Length);

+ 26 - 1
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -28,9 +28,13 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
     [System.Serializable]
     [System.Serializable]
     public class PlayerData
     public class PlayerData
     {
     {
-        public SkillData[] usrSkill = new SkillData[10];
+        // public SkillData[] usrSkill = new SkillData[10];
+        //
+        // public FaBaoData[] UseFaBaoDatas = new FaBaoData[4];
 
 
         public List<SkillData> AllSkillDatas = new List<SkillData>();
         public List<SkillData> AllSkillDatas = new List<SkillData>();
+        
+        public List<FaBaoData> AllFaBaoDatas = new List<FaBaoData>();
 
 
         //每天刷新时间
         //每天刷新时间
         public long nextRefence;
         public long nextRefence;
@@ -81,6 +85,16 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         // public List<HeroData> HeroListInBackDatas = new List<HeroData>();
         // public List<HeroData> HeroListInBackDatas = new List<HeroData>();
     }
     }
 
 
+    [System.Serializable]
+    public class FaBaoData
+    {
+        public int id;
+
+        public int level;
+        
+
+        public int useIndex;
+    }
 
 
     [System.Serializable]
     [System.Serializable]
     public class SkillData
     public class SkillData
@@ -360,6 +374,17 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
             skillData.useIndex = -1;
             skillData.useIndex = -1;
             playerData.AllSkillDatas.Add(skillData);
             playerData.AllSkillDatas.Add(skillData);
         }
         }
+        
+        var allFaBao = new[] { 10001, 10002, 10003, 10004, 10005, 10006, 10007 };
+        
+        foreach (var i in allFaBao)
+        {
+           FaBaoData faaData = new FaBaoData(); 
+           faaData.id = i;
+           faaData.level = 1;
+           faaData.useIndex = -1;
+           playerData.AllFaBaoDatas.Add(faaData);
+        }
 
 
 
 
         HeroData heroData = new HeroData();
         HeroData heroData = new HeroData();

+ 22 - 0
Assets/Scripts/GameLogic/Player/FaBaoControl.cs

@@ -18,6 +18,28 @@ namespace GameLogic.Player
         public void AddFaBao(FaBaoInfo faBaoInfo)
         public void AddFaBao(FaBaoInfo faBaoInfo)
         {
         {
             myAllFaBao.Add(faBaoInfo);
             myAllFaBao.Add(faBaoInfo);
+            if (faBaoInfo.FaBaoData.useIndex != -1)
+            {
+                ChangeUseFaBao(faBaoInfo.FaBaoData.useIndex, faBaoInfo);
+            }
+        }
+
+        public void ChangeUseFaBao(int index, FaBaoInfo faBaoInfo)
+        {
+            if (index >= 4)
+            {
+                return;
+            }
+
+            if (faBaoInfo.FaBaoData.useIndex != -1)
+            {
+                FightFaBao[faBaoInfo.FaBaoData.useIndex] = null;
+            }
+
+            FightFaBao[index] = faBaoInfo;
+            faBaoInfo.FaBaoData.useIndex = index;
+
+            AccountFileInfo.Instance.SavePlayerData();
         }
         }
     }
     }
 }
 }

+ 5 - 4
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -91,12 +91,13 @@ public class PlayerManager : Singleton<PlayerManager>
         {
         {
             FaBaoInfo faBaoInfo = new FaBaoInfo(magicWeaponId[i], 1);
             FaBaoInfo faBaoInfo = new FaBaoInfo(magicWeaponId[i], 1);
             FaBaoControl.AddFaBao(faBaoInfo);
             FaBaoControl.AddFaBao(faBaoInfo);
+            FaBaoControl.FightFaBao[i]= faBaoInfo;
         }
         }
 
 
-        for (int i = 0; i < 4; i++)
-        {
-            FaBaoControl.FightFaBao[i] = FaBaoControl.myAllFaBao[i];
-        }
+        // for (int i = 0; i < 4; i++)
+        // {
+        //     FaBaoControl.FightFaBao[i] = FaBaoControl.myAllFaBao[i];
+        // }
 
 
         myHero.TaoismSkillId = 601011;
         myHero.TaoismSkillId = 601011;
         myHero.MagicWeaponID.Clear();
         myHero.MagicWeaponID.Clear();

+ 13 - 1
Assets/Scripts/GameUI/GameApplction.cs

@@ -132,6 +132,17 @@ public class GameApplction : IGameStart
             skillInfo.index = playerDataAllSkillData.useIndex;
             skillInfo.index = playerDataAllSkillData.useIndex;
             PlayerManager.Instance.GongFaControl.AddSkillInfo(skillInfo);
             PlayerManager.Instance.GongFaControl.AddSkillInfo(skillInfo);
         }
         }
+
+        foreach (var playerDataAllSkillData in AccountFileInfo.Instance.playerData.AllFaBaoDatas)
+        {
+            FaBaoInfo faBaoInfo = new FaBaoInfo(playerDataAllSkillData);
+            PlayerManager.Instance.FaBaoControl.AddFaBao(faBaoInfo);
+        }
+        
+        // for (int i = 1; i < 4; i++)
+        // {
+        //     PlayerManager.Instance.FaBaoControl.FightFaBao[i] = PlayerManager.Instance.FaBaoControl.myAllFaBao[i];
+        // }
         // PlayerManager.Instance.InitTestHero();
         // PlayerManager.Instance.InitTestHero();
 
 
         await CombatDrive.Instance.Init();
         await CombatDrive.Instance.Init();
@@ -154,7 +165,8 @@ public class GameApplction : IGameStart
         gameStartUIPanel.SetSlider(0.95f);
         gameStartUIPanel.SetSlider(0.95f);
         await CombatDrive.Instance.StartCombat(startCombatInfo);
         await CombatDrive.Instance.StartCombat(startCombatInfo);
         PlayerManager.Instance.GongFaControl.SaveUseSkill();
         PlayerManager.Instance.GongFaControl.SaveUseSkill();
-        PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(AccountFileInfo.Instance.playerData.heroData.TaoismSkillId);
+        PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(AccountFileInfo.Instance.playerData.heroData
+            .TaoismSkillId);
         if (startCombatInfo.CombatType != CombatType.TestCombat)
         if (startCombatInfo.CombatType != CombatType.TestCombat)
         {
         {
             await MainPanel.OpenPanel();
             await MainPanel.OpenPanel();

+ 6 - 1
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

@@ -291,8 +291,10 @@ namespace Fort23.Mono
             });
             });
             Btn_RemoveGongFa.onClick.AddListener(() =>
             Btn_RemoveGongFa.onClick.AddListener(() =>
             {
             {
-                PlayerManager.Instance.GongFaControl.RemoveSkillInfo(dianjiSkillKongWidget.index);
+                // PlayerManager.Instance.GongFaControl.RemoveSkillInfo(dianjiSkillKongWidget.index);
+                allUseSkill[dianjiSkillKongWidget.index] = null;
                 dianjiSkillKongWidget.Cleared();
                 dianjiSkillKongWidget.Cleared();
+                isAlter = true;
                 UpdateSkillWidget();
                 UpdateSkillWidget();
                 CloseSelect();
                 CloseSelect();
             });
             });
@@ -494,13 +496,16 @@ namespace Fort23.Mono
                     CloseSelect();
                     CloseSelect();
                     return;
                     return;
                 }
                 }
+                isAlter = true;
 
 
                 skillKongWidget.SetSKill(selectSkillConfig);
                 skillKongWidget.SetSKill(selectSkillConfig);
                 allUseSkill[skillKongWidget.index] = selectSkillConfig;
                 allUseSkill[skillKongWidget.index] = selectSkillConfig;
+                CloseSelect();
             }
             }
             //替换功法
             //替换功法
             else if (skillKongWidget.SkillInfo != null && dianjiSkillKongWidget == null && selectSkillConfig != null)
             else if (skillKongWidget.SkillInfo != null && dianjiSkillKongWidget == null && selectSkillConfig != null)
             {
             {
+                isAlter = true;
                 allUseSkill[skillKongWidget.SkillInfo.index] = null;
                 allUseSkill[skillKongWidget.SkillInfo.index] = null;
                 skillKongWidget.SetSKill(selectSkillConfig);
                 skillKongWidget.SetSKill(selectSkillConfig);
                 allUseSkill[skillKongWidget.index] = selectSkillConfig;
                 allUseSkill[skillKongWidget.index] = selectSkillConfig;

+ 49 - 0
Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidget.cs

@@ -0,0 +1,49 @@
+using GameLogic.Hero;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "BtnFaBaoWidget")]
+    public partial class BtnFaBaoWidget : ItemWidgetBasic
+    {
+        public int index;
+        private FaBaoWidget faBaoWidget;
+        private void Init()
+        {
+        }
+
+        public override void AddEvent()
+        {
+        }
+
+        public override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+            base.AddButtonEvent();
+        }
+
+        public async void CustomInit(int index)
+        {
+            UIManager.Instance.DormancyGComponent(faBaoWidget);
+            this.index = index;
+            FaBaoInfo faBaoInfo = PlayerManager.Instance.FaBaoControl.FightFaBao[index];
+            if (faBaoInfo != null)
+            {
+                faBaoWidget = await UIManager.Instance.CreateGComponent<FaBaoWidget>(null, FaBaoRoot);
+                faBaoWidget.CustomInit(faBaoInfo);
+            }
+            else
+            {
+                UIManager.Instance.DormancyGComponent(faBaoWidget);
+            }
+        }
+
+        public override void DormancyObj()
+        {
+            UIManager.Instance.DormancyGComponent(faBaoWidget);
+            base.DormancyObj();
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidget.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: CXhLvCr7VC8xVoRn/ke89E0/ug2bD91VYWkzWHJci4ik8atfI8OC/ID9NK5H
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 40 - 0
Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidgetData.cs

@@ -0,0 +1,40 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class BtnFaBaoWidget 
+	{
+	  #region 自定义数据 
+	  private RectTransform _FaBaoRoot;
+	  public RectTransform FaBaoRoot
+	   {
+	   get{
+	      if (_FaBaoRoot == null)
+	       {
+	         _FaBaoRoot  = GetUIUnit<RectTransform>("FaBaoRoot"); 
+	       }
+	      return _FaBaoRoot;
+	     }
+	   }
+	  private GameObject _Text_Tips;
+	  public GameObject Text_Tips
+	   {
+	   get{
+	      if (_Text_Tips == null)
+	       {
+	         _Text_Tips  = GetUIUnit<GameObject>("Text_Tips"); 
+	       }
+	      return _Text_Tips;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/MainHeroPnael/BtnFaBaoWidgetData.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: WXsWsi2lVig3/AV8a0nXfv8dZr+HSZAf7fpNnEh+DguRXxNW0r6he85/9jIV
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 4 - 3
Assets/Scripts/GameUI/UI/MainHeroPnael/FaBaoWidget.cs

@@ -5,9 +5,8 @@ namespace Fort23.Mono
     [UIBinding(prefab = "FaBaoWidget")]
     [UIBinding(prefab = "FaBaoWidget")]
     public partial class FaBaoWidget : ItemWidgetBasic
     public partial class FaBaoWidget : ItemWidgetBasic
     {
     {
-
         public FaBaoInfo faoInfo;
         public FaBaoInfo faoInfo;
-        
+
         private void Init()
         private void Init()
         {
         {
         }
         }
@@ -27,7 +26,9 @@ namespace Fort23.Mono
 
 
         public void CustomInit(FaBaoInfo faoInfo)
         public void CustomInit(FaBaoInfo faoInfo)
         {
         {
-            
+            this.faoInfo = faoInfo;
+            Text_Level.text = faoInfo.FaBaoData.level.ToString() + "级";
+            Icon_FaBaoIcon.icon_name = faoInfo.SkillConfig.icon;
         }
         }
     }
     }
 }
 }

+ 36 - 9
Assets/Scripts/GameUI/UI/MainHeroPnael/MainHeroPanel.cs

@@ -1,3 +1,4 @@
+using System.Collections.Generic;
 using Fort23.Core;
 using Fort23.Core;
 
 
 namespace Fort23.Mono
 namespace Fort23.Mono
@@ -5,6 +6,8 @@ namespace Fort23.Mono
     [UIBinding(prefab = "MainHeroPanel")]
     [UIBinding(prefab = "MainHeroPanel")]
     public partial class MainHeroPanel : UIPanel
     public partial class MainHeroPanel : UIPanel
     {
     {
+        List<BtnFaBaoWidget> btnFaBaoWidgets = new List<BtnFaBaoWidget>();
+
         private void Init()
         private void Init()
         {
         {
         }
         }
@@ -19,19 +22,32 @@ namespace Fort23.Mono
 
 
         public override void AddButtonEvent()
         public override void AddButtonEvent()
         {
         {
-            Bnt_FaBao1.onClick.AddListener(() =>
-            {
-                SelectFaBaoPanel.OpenPanel(0);
-            });
-            
-            Btn_Close.onClick.AddListener(() =>
+           
+
+            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
+        }
+
+        public async void CustomInit()
+        {
+            for (int i = 0; i < 4; i++)
             {
             {
-                UIManager.Instance.HideUIUIPanel(this);
-            });
+                BtnFaBaoWidget btnFaBaoWidget =
+                    await UIManager.Instance.CreateGComponent<BtnFaBaoWidget>(null, FaBaoRoot);
+                btnFaBaoWidget.CustomInit(i);
+                btnFaBaoWidget.onClick = OnClick;
+                btnFaBaoWidgets.Add(btnFaBaoWidget);
+            }
         }
         }
 
 
-        public void CustomInit()
+        private async void OnClick(ItemWidgetBasic obj)
         {
         {
+            BtnFaBaoWidget btnFaBaoWidget = obj as BtnFaBaoWidget;
+            SelectFaBaoPanel selectFaBaoPanel = await SelectFaBaoPanel.OpenPanel(btnFaBaoWidget.index);
+            await selectFaBaoPanel.UIClosed();
+            foreach (var b in btnFaBaoWidgets)
+            {
+                b.CustomInit(b.index);
+            }
         }
         }
 
 
         public async static CTask<MainHeroPanel> OpenPanel()
         public async static CTask<MainHeroPanel> OpenPanel()
@@ -40,5 +56,16 @@ namespace Fort23.Mono
             mainHeroPanel.CustomInit();
             mainHeroPanel.CustomInit();
             return mainHeroPanel;
             return mainHeroPanel;
         }
         }
+
+        public override void Close()
+        {
+            foreach (var btnFaBaoWidget in btnFaBaoWidgets)
+            {
+                UIManager.Instance.DormancyGComponent(btnFaBaoWidget);
+            }
+
+            btnFaBaoWidgets.Clear();
+            base.Close();
+        }
     }
     }
 }
 }

+ 10 - 43
Assets/Scripts/GameUI/UI/MainHeroPnael/MainHeroPanelData.cs

@@ -30,59 +30,26 @@ namespace Fort23.Mono
 	      return _Text_JIngJieName;
 	      return _Text_JIngJieName;
 	     }
 	     }
 	   }
 	   }
-	  private Button _Bnt_FaBao1;
-	  public Button Bnt_FaBao1
-	   {
-	   get{
-	      if (_Bnt_FaBao1 == null)
-	       {
-	         _Bnt_FaBao1  = GetUIUnit<Button>("Bnt_FaBao1"); 
-	       }
-	      return _Bnt_FaBao1;
-	     }
-	   }
-	  private Button _Bnt_FaBao2;
-	  public Button Bnt_FaBao2
-	   {
-	   get{
-	      if (_Bnt_FaBao2 == null)
-	       {
-	         _Bnt_FaBao2  = GetUIUnit<Button>("Bnt_FaBao2"); 
-	       }
-	      return _Bnt_FaBao2;
-	     }
-	   }
-	  private GameObject _Bnt_FaBao3;
-	  public GameObject Bnt_FaBao3
-	   {
-	   get{
-	      if (_Bnt_FaBao3 == null)
-	       {
-	         _Bnt_FaBao3  = GetUIUnit<GameObject>("Bnt_FaBao3"); 
-	       }
-	      return _Bnt_FaBao3;
-	     }
-	   }
-	  private GameObject _Bnt_FaBao4;
-	  public GameObject Bnt_FaBao4
+	  private Button _Btn_Close;
+	  public Button Btn_Close
 	   {
 	   {
 	   get{
 	   get{
-	      if (_Bnt_FaBao4 == null)
+	      if (_Btn_Close == null)
 	       {
 	       {
-	         _Bnt_FaBao4  = GetUIUnit<GameObject>("Bnt_FaBao4"); 
+	         _Btn_Close  = GetUIUnit<Button>("Btn_Close"); 
 	       }
 	       }
-	      return _Bnt_FaBao4;
+	      return _Btn_Close;
 	     }
 	     }
 	   }
 	   }
-	  private Button _Btn_Close;
-	  public Button Btn_Close
+	  private RectTransform _FaBaoRoot;
+	  public RectTransform FaBaoRoot
 	   {
 	   {
 	   get{
 	   get{
-	      if (_Btn_Close == null)
+	      if (_FaBaoRoot == null)
 	       {
 	       {
-	         _Btn_Close  = GetUIUnit<Button>("Btn_Close"); 
+	         _FaBaoRoot  = GetUIUnit<RectTransform>("FaBaoRoot"); 
 	       }
 	       }
-	      return _Btn_Close;
+	      return _FaBaoRoot;
 	     }
 	     }
 	   }
 	   }
 	  #endregion 自定义数据结束 
 	  #endregion 自定义数据结束 

+ 120 - 10
Assets/Scripts/GameUI/UI/MainHeroPnael/SelectFaBaoPanel.cs

@@ -2,10 +2,12 @@ using System.Collections.Generic;
 using Core.Language;
 using Core.Language;
 using Fort23.Core;
 using Fort23.Core;
 using GameLogic.Hero;
 using GameLogic.Hero;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
 using Utility;
 using Utility;
 
 
 namespace Fort23.Mono
 namespace Fort23.Mono
 {
 {
+    
     [UIBinding(prefab = "SelectFaBaoPanel")]
     [UIBinding(prefab = "SelectFaBaoPanel")]
     public partial class SelectFaBaoPanel : UIPanel
     public partial class SelectFaBaoPanel : UIPanel
     {
     {
@@ -24,27 +26,72 @@ namespace Fort23.Mono
         public override void AddButtonEvent()
         public override void AddButtonEvent()
         {
         {
             Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
             Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
+
+            Btn_Change.onClick.AddListener(() =>
+            {
+                PlayerManager.Instance.FaBaoControl.ChangeUseFaBao(selectIndex, selectedFaBaoInfo);
+                currentFaBaoInfo = selectedFaBaoInfo;
+                selectedFaBaoInfo = null;
+                CustomInit(selectIndex);
+            });
+
+            Btn_UpGrade.onClick.AddListener(() =>
+            {
+                if (selectedFaBaoInfo != null)
+                {
+                    selectedFaBaoInfo.UpGrade();
+                    UpadaFabaoBag();
+                    UpdateUI(selectedFaBaoInfo);
+                }
+            });
+
+            Btn_PeiYang.onClick.AddListener(() =>
+            {
+                BtnUpGradeRoot.SetActive(true);
+                BtnChangeRoot.SetActive(false);
+            });
+            Btn_Cancel.onClick.AddListener(() =>
+            {
+                BtnUpGradeRoot.SetActive(false);
+                BtnChangeRoot.SetActive(true);
+            });
         }
         }
 
 
         List<FaBaoAttributeWidget> faBaoAttributeWidgets = new List<FaBaoAttributeWidget>();
         List<FaBaoAttributeWidget> faBaoAttributeWidgets = new List<FaBaoAttributeWidget>();
 
 
         List<FaBaoWidget> faBaoWidgets = new List<FaBaoWidget>();
         List<FaBaoWidget> faBaoWidgets = new List<FaBaoWidget>();
 
 
+        FaBaoWidget currentFaBaoWidget = null;
         FaBaoInfo currentFaBaoInfo;
         FaBaoInfo currentFaBaoInfo;
         FaBaoInfo selectedFaBaoInfo;
         FaBaoInfo selectedFaBaoInfo;
         int selectIndex;
         int selectIndex;
 
 
         public async override CTask<bool> AsyncInit(object[] uiData)
         public async override CTask<bool> AsyncInit(object[] uiData)
         {
         {
+            // await UpadaFabaoBag();
+            return await base.AsyncInit(uiData);
+        }
+
+        private async CTask UpadaFabaoBag()
+        {
+            foreach (var faBaoAttributeWidget in faBaoWidgets)
+            {
+                UIManager.Instance.DormancyGComponent(faBaoAttributeWidget);
+            }
+
+            faBaoWidgets.Clear();
             for (var i = 0; i < PlayerManager.Instance.FaBaoControl.myAllFaBao.Count; i++)
             for (var i = 0; i < PlayerManager.Instance.FaBaoControl.myAllFaBao.Count; i++)
             {
             {
+                if (PlayerManager.Instance.FaBaoControl.myAllFaBao[i] == currentFaBaoInfo)
+                {
+                    continue;
+                }
+
                 FaBaoWidget faBaoWidget = await UIManager.Instance.CreateGComponent<FaBaoWidget>(null, Content);
                 FaBaoWidget faBaoWidget = await UIManager.Instance.CreateGComponent<FaBaoWidget>(null, Content);
                 faBaoWidget.CustomInit(PlayerManager.Instance.FaBaoControl.myAllFaBao[i]);
                 faBaoWidget.CustomInit(PlayerManager.Instance.FaBaoControl.myAllFaBao[i]);
                 faBaoWidget.onClick = OnClick;
                 faBaoWidget.onClick = OnClick;
                 faBaoWidgets.Add(faBaoWidget);
                 faBaoWidgets.Add(faBaoWidget);
             }
             }
-
-            return await base.AsyncInit(uiData);
         }
         }
 
 
         private void OnClick(ItemWidgetBasic obj)
         private void OnClick(ItemWidgetBasic obj)
@@ -52,26 +99,59 @@ namespace Fort23.Mono
             FaBaoWidget faBao = obj as FaBaoWidget;
             FaBaoWidget faBao = obj as FaBaoWidget;
             selectedFaBaoInfo = faBao.faoInfo;
             selectedFaBaoInfo = faBao.faoInfo;
             UpdateFaBaoUI(selectedFaBaoInfo);
             UpdateFaBaoUI(selectedFaBaoInfo);
+            FaBaoInfoRoot.SetActive(true);
+            Text_NoFabaoTips.gameObject.gameObject.SetActive(false);
         }
         }
 
 
         public async void CustomInit(int selectIndex)
         public async void CustomInit(int selectIndex)
         {
         {
             this.selectIndex = selectIndex;
             this.selectIndex = selectIndex;
+
+            BtnUpGradeRoot.SetActive(false);
+            BtnChangeRoot.SetActive(true);
             currentFaBaoInfo = PlayerManager.Instance.FaBaoControl.FightFaBao[selectIndex];
             currentFaBaoInfo = PlayerManager.Instance.FaBaoControl.FightFaBao[selectIndex];
-            if (currentFaBaoInfo != null)
+            selectedFaBaoInfo = currentFaBaoInfo;
+            UpdateUI(selectedFaBaoInfo);
+            UpadaFabaoBag();
+        }
+
+        private async void UpdateUI(FaBaoInfo faBaoInfo)
+        {
+            if (faBaoInfo != null)
             {
             {
-                UpdateFaBaoUI(currentFaBaoInfo);
+                if (currentFaBaoWidget == null)
+                    currentFaBaoWidget = await UIManager.Instance.CreateGComponent<FaBaoWidget>(null, CurrentFaBaoRoot);
+                currentFaBaoWidget.CustomInit(faBaoInfo);
+                UpdateFaBaoUI(faBaoInfo);
+                FaBaoInfoRoot.SetActive(true);
+                Text_NoFabaoTips.gameObject.gameObject.SetActive(false);
+                Btn_PeiYang.gameObject.SetActive(true);
+                equipTipsRoot.gameObject.SetActive(true);
+            }
+            else
+            {
+                FaBaoInfoRoot.SetActive(false);
+                Text_NoFabaoTips.gameObject.gameObject.SetActive(true);
+                Btn_PeiYang.gameObject.SetActive(false);
+                equipTipsRoot.gameObject.SetActive(false);
             }
             }
         }
         }
 
 
         private async void UpdateFaBaoUI(FaBaoInfo faBaoInfo)
         private async void UpdateFaBaoUI(FaBaoInfo faBaoInfo)
         {
         {
-            FaBaoWidget faBaoWidget = await UIManager.Instance.CreateGComponent<FaBaoWidget>(null, CurrentFaBaoRoot);
-            faBaoWidget.CustomInit(faBaoInfo);
+            foreach (var faBaoAttributeWidget in faBaoAttributeWidgets)
+            {
+                UIManager.Instance.DormancyGComponent(faBaoAttributeWidget);
+            }
+
+            faBaoAttributeWidgets.Clear();
 
 
-            Text_FaBaoName.text = LanguageManager.Instance.Text(faBaoInfo.FabaoConfig.name) + " Lv." + faBaoInfo.FabaoPowerupConfig.ID;
+
+            Text_FaBaoName.text = LanguageManager.Instance.Text(faBaoInfo.FabaoConfig.name) + " Lv." +
+                                  faBaoInfo.FabaoPowerupConfig.ID;
             Text_Power.text = $"强度:{faBaoInfo.qiangDu}";
             Text_Power.text = $"强度:{faBaoInfo.qiangDu}";
-            Text_Desc.text = UtilTools.GetString(LanguageManager.Instance.Text(faBaoInfo.SkillConfig.dec), faBaoInfo.effectValue);
+            Text_Desc.text = UtilTools.GetString(LanguageManager.Instance.Text(faBaoInfo.SkillConfig.dec),
+                faBaoInfo.effectValue);
 
 
             switch (faBaoInfo.FabaoConfig.magicAttribute)
             switch (faBaoInfo.FabaoConfig.magicAttribute)
             {
             {
@@ -99,16 +179,46 @@ namespace Fort23.Mono
 
 
             foreach (var keyValuePair in faBaoInfo.attriButedIC)
             foreach (var keyValuePair in faBaoInfo.attriButedIC)
             {
             {
-                FaBaoAttributeWidget faBaoAttributeWidget = await UIManager.Instance.CreateGComponent<FaBaoAttributeWidget>(null, FaBaoAttributeWidgetRoot);
+                FaBaoAttributeWidget faBaoAttributeWidget =
+                    await UIManager.Instance.CreateGComponent<FaBaoAttributeWidget>(null, FaBaoAttributeWidgetRoot);
                 faBaoAttributeWidget.CusomtInit(keyValuePair.Key, keyValuePair.Value);
                 faBaoAttributeWidget.CusomtInit(keyValuePair.Key, keyValuePair.Value);
                 faBaoAttributeWidgets.Add(faBaoAttributeWidget);
                 faBaoAttributeWidgets.Add(faBaoAttributeWidget);
             }
             }
         }
         }
 
 
-        public async static void OpenPanel(int selectIndex)
+        public async static CTask<SelectFaBaoPanel> OpenPanel(int selectIndex)
         {
         {
             SelectFaBaoPanel selectFaBaoPanel = await UIManager.Instance.LoadAndOpenPanel<SelectFaBaoPanel>(null);
             SelectFaBaoPanel selectFaBaoPanel = await UIManager.Instance.LoadAndOpenPanel<SelectFaBaoPanel>(null);
             selectFaBaoPanel.CustomInit(selectIndex);
             selectFaBaoPanel.CustomInit(selectIndex);
+            return selectFaBaoPanel;
+        }
+
+
+        public override void Close()
+        {
+            foreach (var faBaoAttributeWidget in faBaoAttributeWidgets)
+            {
+                UIManager.Instance.DormancyGComponent(faBaoAttributeWidget);
+            }
+
+            faBaoAttributeWidgets.Clear();
+
+            foreach (var faBaoAttributeWidget in faBaoWidgets)
+            {
+                UIManager.Instance.DormancyGComponent(faBaoAttributeWidget);
+            }
+
+            faBaoWidgets.Clear();
+
+            UIManager.Instance.DormancyGComponent(currentFaBaoWidget);
+            currentFaBaoWidget = null;
+
+            BtnUpGradeRoot.SetActive(false);
+            BtnChangeRoot.SetActive(true);
+            currentFaBaoInfo = null;
+            selectedFaBaoInfo = null;
+
+            base.Close();
         }
         }
     }
     }
 }
 }

+ 88 - 0
Assets/Scripts/GameUI/UI/MainHeroPnael/SelectFaBaoPanelData.cs

@@ -129,6 +129,94 @@ namespace Fort23.Mono
 	      return _FaBaoAttributeWidgetRoot;
 	      return _FaBaoAttributeWidgetRoot;
 	     }
 	     }
 	   }
 	   }
+	  private Button _Btn_UpGrade;
+	  public Button Btn_UpGrade
+	   {
+	   get{
+	      if (_Btn_UpGrade == null)
+	       {
+	         _Btn_UpGrade  = GetUIUnit<Button>("Btn_UpGrade"); 
+	       }
+	      return _Btn_UpGrade;
+	     }
+	   }
+	  private Button _Btn_PeiYang;
+	  public Button Btn_PeiYang
+	   {
+	   get{
+	      if (_Btn_PeiYang == null)
+	       {
+	         _Btn_PeiYang  = GetUIUnit<Button>("Btn_PeiYang"); 
+	       }
+	      return _Btn_PeiYang;
+	     }
+	   }
+	  private Button _Btn_Change;
+	  public Button Btn_Change
+	   {
+	   get{
+	      if (_Btn_Change == null)
+	       {
+	         _Btn_Change  = GetUIUnit<Button>("Btn_Change"); 
+	       }
+	      return _Btn_Change;
+	     }
+	   }
+	  private GameObject _FaBaoInfoRoot;
+	  public GameObject FaBaoInfoRoot
+	   {
+	   get{
+	      if (_FaBaoInfoRoot == null)
+	       {
+	         _FaBaoInfoRoot  = GetUIUnit<GameObject>("FaBaoInfoRoot"); 
+	       }
+	      return _FaBaoInfoRoot;
+	     }
+	   }
+	  private Text _Text_NoFabaoTips;
+	  public Text Text_NoFabaoTips
+	   {
+	   get{
+	      if (_Text_NoFabaoTips == null)
+	       {
+	         _Text_NoFabaoTips  = GetUIUnit<Text>("Text_NoFabaoTips"); 
+	       }
+	      return _Text_NoFabaoTips;
+	     }
+	   }
+	  private Button _Btn_Cancel;
+	  public Button Btn_Cancel
+	   {
+	   get{
+	      if (_Btn_Cancel == null)
+	       {
+	         _Btn_Cancel  = GetUIUnit<Button>("Btn_Cancel"); 
+	       }
+	      return _Btn_Cancel;
+	     }
+	   }
+	  private GameObject _BtnUpGradeRoot;
+	  public GameObject BtnUpGradeRoot
+	   {
+	   get{
+	      if (_BtnUpGradeRoot == null)
+	       {
+	         _BtnUpGradeRoot  = GetUIUnit<GameObject>("BtnUpGradeRoot"); 
+	       }
+	      return _BtnUpGradeRoot;
+	     }
+	   }
+	  private GameObject _BtnChangeRoot;
+	  public GameObject BtnChangeRoot
+	   {
+	   get{
+	      if (_BtnChangeRoot == null)
+	       {
+	         _BtnChangeRoot  = GetUIUnit<GameObject>("BtnChangeRoot"); 
+	       }
+	      return _BtnChangeRoot;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{
 	{

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


+ 1 - 0
XiuXianGame.sln.DotSettings.user

@@ -9,6 +9,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnumerable_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5004a53079e04c2991f89460a5186cf010fc00_003Fd5_003F42d076c8_003FEnumerable_002Ecs_002Fz_003A2_002D1/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnumerable_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5004a53079e04c2991f89460a5186cf010fc00_003Fd5_003F42d076c8_003FEnumerable_002Ecs_002Fz_003A2_002D1/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnumerable_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Ff2b6204eed6b41348236173e8a2f539817a880_003F16_003Ff8f742c5_003FEnumerable_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnumerable_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Ff2b6204eed6b41348236173e8a2f539817a880_003F16_003Ff8f742c5_003FEnumerable_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fadmin_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Fd3_003F4533b7c3_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fadmin_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Fd3_003F4533b7c3_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIGrouping_00602_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5004a53079e04c2991f89460a5186cf010fc00_003Fb1_003F69de2d9e_003FIGrouping_00602_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AINotifyCompletion_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F64_003Fbb31faf9_003FINotifyCompletion_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AINotifyCompletion_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F64_003Fbb31faf9_003FINotifyCompletion_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIStyle_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F56d039fe633a4adf8fb266a0b1797e6c17a000_003F0f_003F32e1f086_003FIStyle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIStyle_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F56d039fe633a4adf8fb266a0b1797e6c17a000_003F0f_003F32e1f086_003FIStyle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALayerMask_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F6c_003F2226b399_003FLayerMask_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALayerMask_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F6c_003F2226b399_003FLayerMask_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio