Ver Fonte

渡劫修改

lzx há 2 dias atrás
pai
commit
b63ffc4c4e
24 ficheiros alterados com 1752 adições e 592 exclusões
  1. 16 2
      Assets/Art/UIAssets/decorate/dec_di_02.png.meta
  2. 16 2
      Assets/Art/UIAssets/decorate/dec_di_06.png.meta
  3. 17 40
      Assets/Res/UI/HeroInformainPanel/BreakthroughItemWidget.prefab
  4. 89 11
      Assets/Res/UI/HeroInformainPanel/HeroBreakthroughPanel.prefab
  5. 221 31
      Assets/Res/UI/HeroInformainPanel/HeroBreakthroughSuccessPanel.prefab
  6. 8 3
      Assets/Res/UI/HeroInformainPanel/HeroInformationPanel.prefab
  7. 133 1
      Assets/Res/UI/HeroInformainPanel/SelectBreakthroughItemPanel.prefab
  8. 135 0
      Assets/Res/UI/HeroInformainPanel/SelectElixirPanel.prefab
  9. 104 0
      Assets/Scripts/Core/CTask/CTaskAwaitBufferT.cs
  10. 3 0
      Assets/Scripts/Core/CTask/CTaskAwaitBufferT.cs.meta
  11. 13 3
      Assets/Scripts/GameUI/UI/HeroInformationPanel/BreakthroughItemWidget.cs
  12. 10 2
      Assets/Scripts/GameUI/UI/HeroInformationPanel/ElixirItemWidget.cs
  13. 162 52
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroBreakthroughPanel.cs
  14. 22 15
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroHerlp.cs
  15. 11 5
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroInformationPanel.cs
  16. 11 0
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroInformationPanelData.cs
  17. 44 10
      Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectBreakthroughItemPanel.cs
  18. 22 0
      Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectBreakthroughItemPanelData.cs
  19. 20 4
      Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectElixirPanel.cs
  20. 11 0
      Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectElixirPanelData.cs
  21. 1 1
      Assets/Scripts/GameUI/UI/HeroInformationPanel/UseExpElixirPanel.cs
  22. 148 0
      Assets/Scripts/GameUI/UIHelper.cs
  23. 3 0
      Assets/Scripts/GameUI/UIHelper.cs.meta
  24. 532 410
      UserSettings/Layouts/default-2022.dwlt

+ 16 - 2
Assets/Art/UIAssets/decorate/dec_di_02.png.meta

@@ -52,7 +52,7 @@ TextureImporter:
   alignment: 0
   spritePivot: {x: 0.5, y: 0.5}
   spritePixelsToUnits: 100
-  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteBorder: {x: 36, y: 18, z: 37, w: 22}
   spriteGenerateFallbackPhysicsShape: 1
   alphaUsage: 1
   alphaIsTransparency: 1
@@ -168,6 +168,20 @@ TextureImporter:
     ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
     forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
   spriteSheet:
     serializedVersion: 2
     sprites: []
@@ -175,7 +189,7 @@ TextureImporter:
     physicsShape: []
     bones: []
     spriteID: 5e97eb03825dee720800000000000000
-    internalID: 0
+    internalID: 1537655665
     vertices: []
     indices: 
     edges: []

+ 16 - 2
Assets/Art/UIAssets/decorate/dec_di_06.png.meta

@@ -52,7 +52,7 @@ TextureImporter:
   alignment: 0
   spritePivot: {x: 0.5, y: 0.5}
   spritePixelsToUnits: 100
-  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteBorder: {x: 13, y: 12, z: 13, w: 13}
   spriteGenerateFallbackPhysicsShape: 1
   alphaUsage: 1
   alphaIsTransparency: 1
@@ -168,6 +168,20 @@ TextureImporter:
     ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
     forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
   spriteSheet:
     serializedVersion: 2
     sprites: []
@@ -175,7 +189,7 @@ TextureImporter:
     physicsShape: []
     bones: []
     spriteID: 5e97eb03825dee720800000000000000
-    internalID: 0
+    internalID: 1537655665
     vertices: []
     indices: 
     edges: []

+ 17 - 40
Assets/Res/UI/HeroInformainPanel/BreakthroughItemWidget.prefab

@@ -35,7 +35,7 @@ RectTransform:
   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.0012016, y: -56.3}
+  m_AnchoredPosition: {x: 0.0012016296, y: -56.3}
   m_SizeDelta: {x: 84.566, y: 26.5126}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5601461329167545152
@@ -90,7 +90,7 @@ GameObject:
   m_Component:
   - component: {fileID: 7880301645922380373}
   - component: {fileID: 5128789798212904349}
-  - component: {fileID: 6890337619785450243}
+  - component: {fileID: 2697709934911631244}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: Icon
@@ -126,7 +126,7 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 617707279558180499}
   m_CullTransparentMesh: 1
---- !u!114 &6890337619785450243
+--- !u!114 &2697709934911631244
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -135,7 +135,7 @@ MonoBehaviour:
   m_GameObject: {fileID: 617707279558180499}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
@@ -147,7 +147,7 @@ MonoBehaviour:
     m_PersistentCalls:
       m_Calls: []
   m_Sprite: {fileID: 0}
-  m_Type: 0
+  m_Type: 1
   m_PreserveAspect: 0
   m_FillCenter: 1
   m_FillMethod: 4
@@ -156,6 +156,14 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_di_06
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 4ebd7d8d5739e3c27ba90d2ae88ba1cc
 --- !u!1 &840911625146342830
 GameObject:
   m_ObjectHideFlags: 0
@@ -196,9 +204,9 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 42.2844, y: -60.6792}
+  m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 84.5688, y: 121.3584}
-  m_Pivot: {x: 0.5, y: 0.5}
+  m_Pivot: {x: 0, y: 1}
 --- !u!222 &3515760691549089738
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -276,7 +284,7 @@ RectTransform:
   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.0012016, y: 56.8}
+  m_AnchoredPosition: {x: 0.0012016296, y: 56.8}
   m_SizeDelta: {x: 84.566, y: 26.5126}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &52268303547228967
@@ -331,7 +339,6 @@ GameObject:
   m_Component:
   - component: {fileID: 1310645453007886697}
   - component: {fileID: 8626394330909283801}
-  - component: {fileID: 6443361799922705110}
   - component: {fileID: 4539928884656678109}
   m_Layer: 0
   m_HasEditorInfo: 1
@@ -350,7 +357,7 @@ RectTransform:
   m_GameObject: {fileID: 3491191375376401643}
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 0.9, y: 0.9, z: 0.9}
+  m_LocalScale: {x: 0.8399999, y: 0.8399999, z: 0.8399999}
   m_ConstrainProportionsScale: 1
   m_Children: []
   m_Father: {fileID: 3856099267002940727}
@@ -368,36 +375,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 3491191375376401643}
   m_CullTransparentMesh: 1
---- !u!114 &6443361799922705110
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 3491191375376401643}
-  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: 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
 --- !u!114 &4539928884656678109
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 89 - 11
Assets/Res/UI/HeroInformainPanel/HeroBreakthroughPanel.prefab

@@ -193,11 +193,11 @@ RectTransform:
   m_Children: []
   m_Father: {fileID: 4180783494602932733}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 1}
-  m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0.000015258789, y: 0}
   m_SizeDelta: {x: 0, y: 113.14}
-  m_Pivot: {x: 0, y: 1}
+  m_Pivot: {x: 0.5, y: 1}
 --- !u!114 &7262599527714320217
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -205,7 +205,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 980429640142043099}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
   m_Name: 
@@ -231,7 +231,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 980429640142043099}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
   m_Name: 
@@ -613,6 +613,8 @@ GameObject:
   - component: {fileID: 4129200713641818762}
   - component: {fileID: 3248700240164994911}
   - component: {fileID: 2533727145121552687}
+  - component: {fileID: 7199014739780087240}
+  - component: {fileID: 8686740224109303479}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: myImage
@@ -640,7 +642,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 1}
   m_AnchorMax: {x: 0.5, y: 1}
   m_AnchoredPosition: {x: 12.5363655, y: -151.2}
-  m_SizeDelta: {x: 171.2732, y: 29.131805}
+  m_SizeDelta: {x: 0, y: 29.131805}
   m_Pivot: {x: 0.5, y: 0}
 --- !u!222 &3248700240164994911
 CanvasRenderer:
@@ -688,6 +690,46 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
     packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
     lasetJsonGUID: 4ebd7d8d5739e3c27ba90d2ae88ba1cc
+--- !u!114 &7199014739780087240
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1651337386094030685}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 0
+--- !u!114 &8686740224109303479
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1651337386094030685}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 43
+    m_Right: 28
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
 --- !u!1 &1692753687222809121
 GameObject:
   m_ObjectHideFlags: 0
@@ -790,6 +832,7 @@ GameObject:
   - component: {fileID: 5817436434927764908}
   - component: {fileID: 4884029000135614567}
   - component: {fileID: 3747196669644267789}
+  - component: {fileID: 8809252318779630240}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: myImage
@@ -863,6 +906,26 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
     packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
     lasetJsonGUID: 4ebd7d8d5739e3c27ba90d2ae88ba1cc
+--- !u!114 &8809252318779630240
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2038443031379499313}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 1
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &2455318230589753921
 GameObject:
   m_ObjectHideFlags: 0
@@ -2739,6 +2802,7 @@ GameObject:
   - component: {fileID: 5998200006840221047}
   - component: {fileID: 8334097589539832799}
   - component: {fileID: 4030375744655661485}
+  - component: {fileID: 5214198365601610278}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: Text_AffirmTips
@@ -2761,10 +2825,10 @@ RectTransform:
   m_Children: []
   m_Father: {fileID: 4129200713641818762}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 17.008408, y: 0}
-  m_SizeDelta: {x: -34.0168, y: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 85, y: -14.565903}
+  m_SizeDelta: {x: 84, y: 24.3468}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &8334097589539832799
 CanvasRenderer:
@@ -2808,6 +2872,20 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u662F\u5426\u786E\u8BA4\u7A81\u7834"
+--- !u!114 &5214198365601610278
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7145360654184415778}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 0
 --- !u!1 &8055955106621478906
 GameObject:
   m_ObjectHideFlags: 0

+ 221 - 31
Assets/Res/UI/HeroInformainPanel/HeroBreakthroughSuccessPanel.prefab

@@ -11,6 +11,7 @@ GameObject:
   - component: {fileID: 4310233521921181525}
   - component: {fileID: 3420213859019547242}
   - component: {fileID: 679180283270573513}
+  - component: {fileID: 9164400544990098190}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: Text (Legacy)
@@ -26,17 +27,17 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2483473116206349763}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  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: 9037135992368401232}
+  m_Father: {fileID: 3479442316472032070}
   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: -11.848, y: 341.9131}
-  m_SizeDelta: {x: 726.3, y: 82.1738}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: -2.5489, y: -47.086914}
+  m_SizeDelta: {x: 744.8983, y: 82.1738}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3420213859019547242
 CanvasRenderer:
@@ -80,6 +81,156 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u7A81\u7834\u6210\u529F"
+--- !u!114 &9164400544990098190
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2483473116206349763}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 1
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!1 &4913753158075829455
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3479442316472032070}
+  - component: {fileID: 6122910395234630388}
+  - component: {fileID: 2306384484351467029}
+  - component: {fileID: 5302330267709461423}
+  - component: {fileID: 7435284091604452912}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: myImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3479442316472032070
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4913753158075829455}
+  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: 543116040436373444}
+  - {fileID: 4092484107647895613}
+  - {fileID: 4310233521921181525}
+  - {fileID: 6341706220095682999}
+  m_Father: {fileID: 9037135992368401232}
+  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.000030518, y: 135}
+  m_SizeDelta: {x: 750, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6122910395234630388
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4913753158075829455}
+  m_CullTransparentMesh: 1
+--- !u!114 &2306384484351467029
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4913753158075829455}
+  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: 1, b: 1, 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: 1
+  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_di_02
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 4ebd7d8d5739e3c27ba90d2ae88ba1cc
+--- !u!114 &5302330267709461423
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4913753158075829455}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 252
+    m_Bottom: 0
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!114 &7435284091604452912
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4913753158075829455}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
 --- !u!1 &5294230650080845847
 GameObject:
   m_ObjectHideFlags: 0
@@ -91,6 +242,7 @@ GameObject:
   - component: {fileID: 4092484107647895613}
   - component: {fileID: 7145965794220890925}
   - component: {fileID: 499042528739118409}
+  - component: {fileID: 2922447034894237163}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: Text_CurretnJIngjie
@@ -106,17 +258,17 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 5294230650080845847}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  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: 9037135992368401232}
+  m_Father: {fileID: 3479442316472032070}
   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: -236.52333, y: 232}
-  m_SizeDelta: {x: 276.9533, y: 82.1738}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: -212.91, y: -157}
+  m_SizeDelta: {x: 229.73, y: 82.1738}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &7145965794220890925
 CanvasRenderer:
@@ -160,6 +312,26 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u7B51\u57FA\u671F"
+--- !u!114 &2922447034894237163
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5294230650080845847}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 1
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &6015582386914595975
 GameObject:
   m_ObjectHideFlags: 0
@@ -292,6 +464,7 @@ GameObject:
   - component: {fileID: 543116040436373444}
   - component: {fileID: 4747113537948573547}
   - component: {fileID: 4779532759236090049}
+  - component: {fileID: 2381540517331302103}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: 'Text_NextJIngjie '
@@ -307,17 +480,17 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 7371325538380333896}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  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: 9037135992368401232}
+  m_Father: {fileID: 3479442316472032070}
   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: 207.65845, y: 232}
-  m_SizeDelta: {x: 287.2831, y: 82.1738}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 221.54068, y: -157}
+  m_SizeDelta: {x: 235.9986, y: 82.1738}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4747113537948573547
 CanvasRenderer:
@@ -361,6 +534,26 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u7B51\u57FA\u671F"
+--- !u!114 &2381540517331302103
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7371325538380333896}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 1
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
 --- !u!1 &8742744849944818760
 GameObject:
   m_ObjectHideFlags: 0
@@ -388,16 +581,16 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 8742744849944818760}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  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: 9037135992368401232}
+  m_Father: {fileID: 3479442316472032070}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 1}
-  m_AnchorMax: {x: 0.5, y: 1}
-  m_AnchoredPosition: {x: 0, y: -657}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 375, y: -252}
   m_SizeDelta: {x: 655.5615, y: 0}
   m_Pivot: {x: 0.5, y: 1}
 --- !u!222 &5547915736192466516
@@ -421,10 +614,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Padding:
-    m_Left: 0
-    m_Right: 0
-    m_Top: 0
-    m_Bottom: 0
+    m_Left: 14
+    m_Right: 14
+    m_Top: -24
+    m_Bottom: 26
   m_ChildAlignment: 0
   m_Spacing: 7.47
   m_ChildForceExpandWidth: 1
@@ -479,10 +672,7 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 8212670971040085124}
-  - {fileID: 4310233521921181525}
-  - {fileID: 4092484107647895613}
-  - {fileID: 543116040436373444}
-  - {fileID: 6341706220095682999}
+  - {fileID: 3479442316472032070}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}

+ 8 - 3
Assets/Res/UI/HeroInformainPanel/HeroInformationPanel.prefab

@@ -240,7 +240,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &2074141334421181977
 RectTransform:
   m_ObjectHideFlags: 0
@@ -651,7 +651,7 @@ GameObject:
   - component: {fileID: 2682066832374116098}
   m_Layer: 5
   m_HasEditorInfo: 1
-  m_Name: Text (Legacy)
+  m_Name: Text_TuPo
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -1113,7 +1113,7 @@ RectTransform:
   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: 284.8401, y: -37.159912}
+  m_AnchoredPosition: {x: 306, y: -51.16}
   m_SizeDelta: {x: 102.3198, y: 102.3198}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3449428202073114142
@@ -1885,4 +1885,9 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: Text_TuPo
+    gameObject: {fileID: 2682066832374116098}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 0

+ 133 - 1
Assets/Res/UI/HeroInformainPanel/SelectBreakthroughItemPanel.prefab

@@ -13,7 +13,7 @@ GameObject:
   - component: {fileID: 3258963928875509377}
   m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: Text (Legacy)
+  m_Name: Text_Affirm
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -573,6 +573,127 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u7A81\u7834\u6210\u529F\u7387"
+--- !u!1 &3587899887059951543
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3577922257924512980}
+  - component: {fileID: 2747026803546040257}
+  - component: {fileID: 5066644999548193194}
+  - component: {fileID: 4180526276572653514}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Btn_Close
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3577922257924512980
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3587899887059951543}
+  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: 5318323102501209997}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2747026803546040257
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3587899887059951543}
+  m_CullTransparentMesh: 1
+--- !u!114 &5066644999548193194
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3587899887059951543}
+  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: 0, g: 0, b: 0, a: 0.6901961}
+  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!114 &4180526276572653514
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3587899887059951543}
+  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: 5066644999548193194}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
 --- !u!1 &4334978824698879176
 GameObject:
   m_ObjectHideFlags: 0
@@ -1440,6 +1561,7 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
+  - {fileID: 3577922257924512980}
   - {fileID: 1528319131332351769}
   - {fileID: 6314286798691166058}
   m_Father: {fileID: 0}
@@ -1502,6 +1624,16 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: Btn_Close
+    gameObject: {fileID: 4180526276572653514}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_Affirm
+    gameObject: {fileID: 3258963928875509377}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
 --- !u!1 &7472297620610942561
 GameObject:

+ 135 - 0
Assets/Res/UI/HeroInformainPanel/SelectElixirPanel.prefab

@@ -1094,6 +1094,7 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
+  - {fileID: 3664722426174651905}
   - {fileID: 1528319131332351769}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1140,6 +1141,11 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: Btn_Close
+    gameObject: {fileID: 2547927057724974632}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
 --- !u!1 &7472297620610942561
 GameObject:
@@ -1221,6 +1227,135 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: -60%
+--- !u!1 &7614230985242387431
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3664722426174651905}
+  - component: {fileID: 8998807695776027019}
+  - component: {fileID: 239191118942604627}
+  - component: {fileID: 2547927057724974632}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_Close
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3664722426174651905
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7614230985242387431}
+  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: 5318323102501209997}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8998807695776027019
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7614230985242387431}
+  m_CullTransparentMesh: 1
+--- !u!114 &239191118942604627
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7614230985242387431}
+  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, g: 0, b: 0, a: 0.6901961}
+  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 &2547927057724974632
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7614230985242387431}
+  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: 239191118942604627}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
 --- !u!1 &7700017753481834753
 GameObject:
   m_ObjectHideFlags: 0

+ 104 - 0
Assets/Scripts/Core/CTask/CTaskAwaitBufferT.cs

@@ -0,0 +1,104 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Fort23.Core
+{
+    public class CTaskAwaitBuffer<T> : IDisposable where T : new()
+    {
+        private List<CTask<T>> _cTasks = new List<CTask<T>>();
+
+        
+
+        private List<T> _results = new List<T>();
+
+        public CTask<T>[] GetTask
+        {
+            get { return _cTasks.ToArray(); }
+        }
+
+        private int count;
+        private CTask CTask;
+
+        private bool _isWait;
+        
+      
+        
+        public T[] GetResults()
+        {
+
+            
+            return _results.ToArray();
+            
+        }
+
+        public void Clear()
+        {
+            _cTasks.Clear();
+            _isWait = false;
+            CTask = null;
+            count = 0;
+        }
+
+        public void AddTask(CTask<T> icTaskResult)
+        {
+            _cTasks.Add(icTaskResult);
+            if (_isWait)
+            {
+                count++;
+                AwaitTask(icTaskResult);
+            }
+        }
+
+        public async CTask<List<T>> WaitAll()
+        {
+            _isWait = true;
+            count += _cTasks.Count;
+
+            if (count == 0)
+            {
+                return new List<T>();
+            }
+
+            CTask = CTask.Create(false);
+            CTask<T>[] icTaskResults = _cTasks.ToArray();
+            for (int i = 0; i < icTaskResults.Length; i++)
+            {
+                AwaitTask(icTaskResults[i]);
+            }
+
+            await CTask;
+            return new List<T>(_results);
+        }
+
+
+        public async CTask AwaitTask(CTask<T> icTaskResult)
+        {
+            T result = await icTaskResult;
+
+            _results.Add(result);
+            count--;
+            // _cTasks.Remove(icTaskResult);
+            if (count <= 0 && _isWait)
+            {
+                _isWait = false;
+                CTask cta = CTask;
+                // if (_cTasks != null)
+                // {
+                //     _cTasks.Clear();
+                // }
+
+                count = 0;
+                cta.SetResult();
+            }
+        }
+
+        public void Dispose()
+        {
+            _cTasks.Clear();
+            _results.Clear();
+            CTask = null;
+            _isWait = false;
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Core/CTask/CTaskAwaitBufferT.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 78e4b7dcf3234260b7e0904d3c3123cb
+timeCreated: 1745896223

+ 13 - 3
Assets/Scripts/GameUI/UI/HeroInformationPanel/BreakthroughItemWidget.cs

@@ -13,7 +13,7 @@ namespace Fort23.Mono
         /// </summary>
         private int type;
 
-        private int itemId;
+        public int itemId;
 
         public ItemInfo itemInfo;
 
@@ -38,8 +38,10 @@ namespace Fort23.Mono
                 //打开选择丹药界面
                 if (type == 1)
                 {
-                    SelectElixirPanel.OpenPanel(itemInfo, async (e) =>
+                    SelectElixirPanel.OpenPanel(this, async (e) =>
                     {
+                     
+                        
                         //取消选择丹药
                         if (e == null)
                         {
@@ -66,8 +68,16 @@ namespace Fort23.Mono
                 }
                 else
                 {
-                    SelectBreakthroughItemPanel.OpenPanel(itemId, async () =>
+                    SelectBreakthroughItemPanel.OpenPanel(this, async () =>
                     {
+                        if (itemInfo != null)
+                        {
+                            itemInfo = null;
+                            UIManager.Instance.DormancyGComponent(widgetItem);
+                            widgetItem = null;
+                            return;
+                        }
+                        
                         if (PlayerManager.Instance.BagController.IsEnough(itemId, 1))
                         {
                             itemInfo = new ItemInfo(itemId, 1);

+ 10 - 2
Assets/Scripts/GameUI/UI/HeroInformationPanel/ElixirItemWidget.cs

@@ -8,7 +8,7 @@ namespace Fort23.Mono
     public partial class ElixirItemWidget : ItemWidgetBasic
     {
         public ItemConfig _itemConfig;
-        
+
         private void Init()
         {
         }
@@ -33,7 +33,15 @@ namespace Fort23.Mono
             Text_FailDesc.text = $"成功几率+{_itemConfig.associateVlaue[2]}%";
             Text_SucceedDesc.text = $"失败损耗-{_itemConfig.associateVlaue[3]}%";
             Text_ItemName.text = LanguageManager.Instance.Text(_itemConfig.itemName);
+
+            if (PlayerManager.Instance.BagController.IsEnough(itemId, 1))
+            {
+                transform.RecoverColor();
+            }
+            else
+            {
+                transform.Gray();
+            }
         }
-        
     }
 }

+ 162 - 52
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroBreakthroughPanel.cs

@@ -6,6 +6,7 @@ using Fort23.UTool;
 using GameLogic.Combat;
 using GameLogic.Hero;
 using UnityEngine;
+using UnityEngine.UI;
 
 namespace Fort23.Mono
 {
@@ -17,6 +18,7 @@ namespace Fort23.Mono
         List<BreakthroughItemWidget> breakthroughItemWidgets = new List<BreakthroughItemWidget>();
         private HeroInfo heroInfo = new HeroInfo();
 
+
         private void Init()
         {
         }
@@ -49,6 +51,12 @@ namespace Fort23.Mono
                     return;
                 }
 
+                if (heroPowerUpConfig.DujieLevelbattleID != -1 && !PlayerManager.Instance.myHero.heroData.isCombat)
+                {
+                    TipMessagePanel tipMessage = await TipMessagePanel.OpenTipMessagePanel("没有破除心魔");
+                    return;
+                }
+
                 for (var i = 0; i < PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs.Length; i++)
                 {
                     bool isHave = false;
@@ -74,9 +82,10 @@ namespace Fort23.Mono
                 {
                     if (breakthroughItemWidget.itemInfo != null)
                     {
-                        if (PlayerManager.Instance.BagController.DeductItem(breakthroughItemWidget.itemInfo.itemID, 1))
+                        if (!PlayerManager.Instance.BagController.DeductItem(breakthroughItemWidget.itemInfo.itemID, 1))
                         {
                             TipMessagePanel tipMessage = await TipMessagePanel.OpenTipMessagePanel("道具不足!");
+                            return;
                         }
                     }
                 }
@@ -86,24 +95,28 @@ namespace Fort23.Mono
 
 
                 int ramdomValue = Random.Range(1, 101);
+
                 //突破成功
                 if (ramdomValue < list[0])
                 {
-                    if (PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages != null && PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages.Length >1)
+                    bool isTuPoSuccess = true;
+                    if (PlayerManager.Instance.myHero.powerUpConfig.jingjie1 != heroInfo.powerUpConfig.jingjie1)
                     {
-                        ramdomValue = Random.Range(PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages[0], PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages[1]);
-                        //渡劫失败
-                        if (ramdomValue >= PlayerManager.Instance.myHero.hp.Value)
-                        {
-                            TipMessagePanel tipMessage = await TipMessagePanel.OpenTipMessagePanel("雷劫失败");
-                            await tipMessage.UIClosed();
-                        }
-                        else
+                        if (PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages != null && PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages.Length > 1)
                         {
-                            await UpHero();
+                            ramdomValue = Random.Range(PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages[0], PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages[1]);
+                            //渡劫失败
+                            if (ramdomValue >= PlayerManager.Instance.myHero.hp.Value)
+                            {
+                                isTuPoSuccess = false;
+                                RemoveHeroItem(list[1]);
+                                TipMessagePanel tipMessage = await TipMessagePanel.OpenTipMessagePanel("雷劫失败");
+                                await tipMessage.UIClosed();
+                            }
                         }
                     }
-                    else
+
+                    if (isTuPoSuccess)
                     {
                         await UpHero();
                     }
@@ -111,16 +124,7 @@ namespace Fort23.Mono
                 //失败
                 else
                 {
-                    //扣除失败后的经验
-                    float failbl = list[1] == 0 ? PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce : (float)(PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce * list[1] * 0.01f);
-                    int failXw = (int)(PlayerManager.Instance.myHero.powerUpConfig.levelUpExp * failbl * 0.01f);
-                    int allexp = HeroHerlp.GetHeroExp();
-                    PlayerManager.Instance.myHero.heroData.exp += allexp;
-                    PlayerManager.Instance.myHero.heroData.exp -= failXw;
-                    PlayerManager.Instance.myHero.heroData.upTime = TimeHelper.ClientNow();
-                    PlayerManager.Instance.myHero.heroData.isCombat = false;
-                    AccountFileInfo.Instance.SavePlayerData();
-
+                    RemoveHeroItem(list[1]);
                     TipMessagePanel tipMessage = await TipMessagePanel.OpenTipMessagePanel("突破失败");
                     await tipMessage.UIClosed();
                 }
@@ -153,6 +157,19 @@ namespace Fort23.Mono
             });
         }
 
+        private void RemoveHeroItem(int failBl)
+        {
+            //扣除失败后的经验
+            float failbl = failBl == 0 ? PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce : (float)(PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce * failBl * 0.01f);
+            int failXw = (int)(PlayerManager.Instance.myHero.powerUpConfig.levelUpExp * failbl * 0.01f);
+            int allexp = HeroHerlp.GetHeroExp();
+            PlayerManager.Instance.myHero.heroData.exp += allexp;
+            PlayerManager.Instance.myHero.heroData.exp -= failXw;
+            PlayerManager.Instance.myHero.heroData.upTime = TimeHelper.ClientNow();
+            PlayerManager.Instance.myHero.heroData.isCombat = false;
+            AccountFileInfo.Instance.SavePlayerData();
+        }
+
         private async CTask UpHero()
         {
             var heroAttributData = HeroHerlp.GetHeroChageHeroAttributeData(PlayerManager.Instance.myHero, heroInfo);
@@ -167,31 +184,38 @@ namespace Fort23.Mono
             heroPowerUpConfig = PlayerManager.Instance.myHero.powerUpConfig;
             heroInfo.InitHero(PlayerManager.Instance.myHero.heroData.heroModelId, PlayerManager.Instance.myHero.heroData.heroPowerId + 1);
 
-            Text_CurrrentJIngjie.text = LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) +
-                                        LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]) +
-                                        LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[2]);
+            Text_CurrrentJIngjie.text = LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[0]) +
+                                        LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[1]) +
+                                        LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[2]);
 
             Text_NextJinfjie.text = LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[0]) +
                                     LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[1]) +
                                     LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[2]);
 
-            if (PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages != null && PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages.Length >1)
+            if (heroPowerUpConfig.jingjie1 != heroInfo.powerUpConfig.jingjie1)
             {
                 Text_TitleName.text = "渡劫";
                 Text_Affirm.text = "逆天而行";
                 Text_AffirmTips.text = "是否确认渡劫";
 
-                LeiJieRooot.gameObject.SetActive(true);
-                Text_LeiJieHarm.text = $"{PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages[0]}-{PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages[1]}";
-                Text_HeroHp.text = PlayerManager.Instance.myHero.hp.Value.ToString();
-
-                if (PlayerManager.Instance.myHero.hp.Value < PlayerManager.Instance.myHero.powerUpConfig.LeijieDamages[0])
+                if (heroPowerUpConfig.LeijieDamages != null && heroPowerUpConfig.LeijieDamages.Length > 1)
                 {
-                    Text_HeroHp.color = Color.red;
+                    LeiJieRooot.gameObject.SetActive(true);
+                    Text_LeiJieHarm.text = $"{heroPowerUpConfig.LeijieDamages[0]}-{heroPowerUpConfig.LeijieDamages[1]}";
+                    Text_HeroHp.text = PlayerManager.Instance.myHero.hp.Value.ToString();
+
+                    if (PlayerManager.Instance.myHero.hp.Value < heroPowerUpConfig.LeijieDamages[0])
+                    {
+                        Text_HeroHp.color = Color.red;
+                    }
+                    else
+                    {
+                        Text_HeroHp.color = Color.black;
+                    }
                 }
                 else
                 {
-                    Text_HeroHp.color = Color.black;
+                    LeiJieRooot.gameObject.SetActive(false);
                 }
             }
             else
@@ -223,38 +247,124 @@ namespace Fort23.Mono
             }
 
             RefenceSuccessProbability();
-            //选择丹药
-            BreakthroughItemWidget breakthroughItemWidget = await UIManager.Instance.CreateGComponent<BreakthroughItemWidget>(null, Content);
-            breakthroughItemWidget.CustomInit(1, 0);
-            breakthroughItemWidgets.Add(breakthroughItemWidget);
 
-            //必选道具
-            for (var i = 0; i < heroPowerUpConfig.DujieMustItemIDs.Length; i++)
-            {
-                breakthroughItemWidget = await UIManager.Instance.CreateGComponent<BreakthroughItemWidget>(null, Content);
-                breakthroughItemWidget.CustomInit(2, heroPowerUpConfig.DujieMustItemIDs[i]);
-                breakthroughItemWidgets.Add(breakthroughItemWidget);
-            }
 
-            //可选道具
-            for (var i = 0; i < heroPowerUpConfig.DujieItemIDs.Length; i++)
+            using (CTaskAwaitBuffer<BreakthroughItemWidget> cTaskAwaitBuffer = new CTaskAwaitBuffer<BreakthroughItemWidget>())
             {
-                breakthroughItemWidget = await UIManager.Instance.CreateGComponent<BreakthroughItemWidget>(null, Content);
-                breakthroughItemWidget.CustomInit(2, heroPowerUpConfig.DujieItemIDs[i]);
-                breakthroughItemWidgets.Add(breakthroughItemWidget);
+                for (int i = 0; i < 1 + heroPowerUpConfig.DujieMustItemIDs.Length + heroPowerUpConfig.DujieItemIDs.Length; i++)
+                {
+                    cTaskAwaitBuffer.AddTask(UIManager.Instance.CreateGComponent<BreakthroughItemWidget>(null, Content));
+                }
+
+                breakthroughItemWidgets = await cTaskAwaitBuffer.WaitAll();
+
+                breakthroughItemWidgets[0].CustomInit(1, 0);
+
+
+                //必选道具
+                for (var i = 0; i < heroPowerUpConfig.DujieMustItemIDs.Length; i++)
+                {
+                    breakthroughItemWidgets[i + 1].CustomInit(2, heroPowerUpConfig.DujieMustItemIDs[i]);
+                }
+
+                //可选道具
+                for (var i = 0; i < heroPowerUpConfig.DujieItemIDs.Length; i++)
+                {
+                    breakthroughItemWidgets[i + heroPowerUpConfig.DujieMustItemIDs.Length + 1].CustomInit(2, heroPowerUpConfig.DujieItemIDs[i]);
+                }
+
+                for (var i = 0; i < breakthroughItemWidgets.Count; i++)
+                {
+                    breakthroughItemWidgets[i].transform.anchoredPosition = new Vector2((breakthroughItemWidgets[i].transform.sizeDelta.x + 48) * i, 0);
+                }
+
+                Content.sizeDelta = new Vector2((breakthroughItemWidgets[0].transform.sizeDelta.x + 48) * breakthroughItemWidgets.Count, 200);
             }
         }
 
         private void RefenceSuccessProbability()
         {
+            bool isCan = true;
+
+            if (heroPowerUpConfig.DujieLevelbattleID != -1 && !PlayerManager.Instance.myHero.heroData.isCombat)
+            {
+                isCan = false;
+            }
+
+            for (var i = 0; i < PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs.Length; i++)
+            {
+                bool isHave = false;
+                for (var i1 = 1; i1 < breakthroughItemWidgets.Count; i1++)
+                {
+                    if (breakthroughItemWidgets[i1].itemInfo != null && PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs[i] == breakthroughItemWidgets[i1].itemInfo.itemID)
+                    {
+                        isHave = true;
+                    }
+                }
+
+                if (!isHave)
+                {
+                    isCan = false;
+                    break;
+                }
+            }
+
+            int failXw = 0;
+            float failbl = 0;
+            int successBl = 0;
+
             var list = GetBl();
 
-            float failbl = list[1] == 0 ? PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce : (float)(PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce * list[1] * 0.01f);
+            failbl = list[1] == 0 ? PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce : (float)(PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce * list[1] * 0.01f);
+            successBl = list[0];
+
+            if (isCan)
+            {
+                // var list = GetBl();
+                //
+                // failbl = list[1] == 0 ? PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce : (float)(PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce * list[1] * 0.01f);
+                // successBl = list[0];
+
+                if (PlayerManager.Instance.myHero.powerUpConfig.jingjie1 != heroInfo.powerUpConfig.jingjie1)
+                {
+                    Text_AffirmTips.text = "是否确认渡劫";
+                }
+                else
+                {
+                    Text_AffirmTips.text = "是否确认突破";
+                }
+            }
+            else
+            {
+                //提示需要什么道具
+                string tips = "需要 破除心魔 ";
+                foreach (var dujieMustItemID in PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs)
+                {
+                    ItemConfig itemConfig = ConfigComponent.Instance.Get<ItemConfig>(dujieMustItemID);
+                    tips += " " + LanguageManager.Instance.Text(itemConfig.itemName);
+                }
+
+                if (PlayerManager.Instance.myHero.powerUpConfig.jingjie1 != heroInfo.powerUpConfig.jingjie1)
+                {
+                    Text_AffirmTips.text = tips;
+                }
+                else
+                {
+                    Text_AffirmTips.text = tips;
+                }
+                //
+                // failbl = PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce;
+                // successBl = 0;
+            }
+
+            failXw = (int)(PlayerManager.Instance.myHero.powerUpConfig.levelUpExp * failbl * 0.01f);
 
-            int failXw = (int)(PlayerManager.Instance.myHero.powerUpConfig.levelUpExp * failbl * 0.01f);
 
             Text_FailDesc.text = $"失败损失修为:{failXw}修为";
-            Text_SucceedDesc.text = $"成功几率:{list[0]}%";
+            Text_SucceedDesc.text = $"成功几率:{successBl}%";
+
+            LayoutRebuilder.ForceRebuildLayoutImmediate(Text_AffirmTips.GetComponent<RectTransform>());
+            LayoutRebuilder.ForceRebuildLayoutImmediate(Text_AffirmTips.transform.parent.GetComponent<RectTransform>());
         }
 
         private List<int> GetBl()

+ 22 - 15
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroHerlp.cs

@@ -6,49 +6,56 @@ namespace Fort23.Mono
 {
     public static class HeroHerlp
     {
-        public static  List<HeroAttributeData> GetHeroChageHeroAttributeData(HeroInfo currentHero, HeroInfo newHero)
+        public static List<HeroAttributeData> GetHeroChageHeroAttributeData(HeroInfo currentHero, HeroInfo newHero)
         {
             List<HeroAttributeData> heroAttributeDataList = new List<HeroAttributeData>();
+            if (currentHero.powerUpConfig.ShenshiMax != newHero.powerUpConfig.ShenshiMax)
+            {
+                HeroAttributeData heroAttributeData = new HeroAttributeData("神识上限", currentHero.powerUpConfig.ShenshiMax.ToString(), "" + newHero.powerUpConfig.ShenshiMax.ToString());
+                heroAttributeDataList.Add(heroAttributeData);
+            }
+
+
             if (currentHero.hp != newHero.hp)
             {
-                HeroAttributeData heroAttributeData = new HeroAttributeData("生命", currentHero.hp.Value.ToString(), "+" +newHero.hp.Value.ToString());
+                HeroAttributeData heroAttributeData = new HeroAttributeData("生命", currentHero.hp.Value.ToString(), "" + newHero.hp.Value.ToString());
                 heroAttributeDataList.Add(heroAttributeData);
             }
-            
+
             if (currentHero.attack != newHero.attack)
             {
-                HeroAttributeData heroAttributeData = new HeroAttributeData("攻击", currentHero.attack.Value.ToString(), "+" +newHero.attack.Value.ToString());
+                HeroAttributeData heroAttributeData = new HeroAttributeData("攻击", currentHero.attack.Value.ToString(), "" + newHero.attack.Value.ToString());
                 heroAttributeDataList.Add(heroAttributeData);
             }
-            
+
             if (currentHero.defense != newHero.defense)
             {
-                HeroAttributeData heroAttributeData = new HeroAttributeData("防御", currentHero.defense.Value.ToString(), "+" +newHero.defense.Value.ToString());
+                HeroAttributeData heroAttributeData = new HeroAttributeData("防御", currentHero.defense.Value.ToString(), "" + newHero.defense.Value.ToString());
                 heroAttributeDataList.Add(heroAttributeData);
             }
-            
-                    
+
+
             if (currentHero.powerUpConfig.MPFactor != newHero.powerUpConfig.MPFactor)
             {
-                HeroAttributeData heroAttributeData = new HeroAttributeData("法宝倍率", currentHero.powerUpConfig.MPFactor.ToString(), "+" + currentHero.powerUpConfig.MPFactor.ToString());
+                HeroAttributeData heroAttributeData = new HeroAttributeData("法宝倍率", currentHero.powerUpConfig.MPFactor.ToString(), "" + currentHero.powerUpConfig.MPFactor.ToString());
                 heroAttributeDataList.Add(heroAttributeData);
             }
-            
+
             if (currentHero.powerUpConfig.MPFactor != newHero.powerUpConfig.MPFactor)
             {
-                HeroAttributeData heroAttributeData = new HeroAttributeData("护盾倍率", currentHero.powerUpConfig.HudunFactor.ToString(), "+" + currentHero.powerUpConfig.HudunFactor.ToString());
+                HeroAttributeData heroAttributeData = new HeroAttributeData("护盾倍率", currentHero.powerUpConfig.HudunFactor.ToString(), "" + currentHero.powerUpConfig.HudunFactor.ToString());
                 heroAttributeDataList.Add(heroAttributeData);
             }
-            
+
             if (currentHero.powerUpConfig.MPFactor != newHero.powerUpConfig.MPFactor)
             {
-                HeroAttributeData heroAttributeData = new HeroAttributeData("防御系数K", currentHero.powerUpConfig.defK.ToString(), "+" + currentHero.powerUpConfig.defK.ToString());
+                HeroAttributeData heroAttributeData = new HeroAttributeData("防御系数K", currentHero.powerUpConfig.defK.ToString(), "" + currentHero.powerUpConfig.defK.ToString());
                 heroAttributeDataList.Add(heroAttributeData);
             }
-            
+
             if (currentHero.powerUpConfig.MPFactor != newHero.powerUpConfig.MPFactor)
             {
-                HeroAttributeData heroAttributeData = new HeroAttributeData("神识上限", currentHero.powerUpConfig.ShenshiMax.ToString(), "+" + currentHero.powerUpConfig.ShenshiMax.ToString());
+                HeroAttributeData heroAttributeData = new HeroAttributeData("神识上限", currentHero.powerUpConfig.ShenshiMax.ToString(), "" + currentHero.powerUpConfig.ShenshiMax.ToString());
                 heroAttributeDataList.Add(heroAttributeData);
             }
 

+ 11 - 5
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroInformationPanel.cs

@@ -32,11 +32,8 @@ namespace Fort23.Mono
 
         public override void AddButtonEvent()
         {
-            Btn_DanYao.onClick.AddListener(() =>
-            {
-                UseExpElixirPanel.OpenPanel();
-            });
-            
+            Btn_DanYao.onClick.AddListener(() => { UseExpElixirPanel.OpenPanel(); });
+
             Btn_TuPo.onClick.AddListener(() =>
             {
                 int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
@@ -124,6 +121,15 @@ namespace Fort23.Mono
 
 
             Text_exp.text = $"{PlayerManager.Instance.myHero.exp}/{PlayerManager.Instance.myHero.powerUpConfig.levelUpExp}";
+
+            if (PlayerManager.Instance.myHero.powerUpConfig.jingjie1 == heroInfo.powerUpConfig.jingjie1)
+            {
+                Text_TuPo.text = "突破";
+            }
+            else
+            {
+                Text_TuPo.text = "渡劫";
+            }
         }
 
         [CustomMethod(CustomMethodType.Update)]

+ 11 - 0
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroInformationPanelData.cs

@@ -140,6 +140,17 @@ namespace Fort23.Mono
 	      return _CameraRoot;
 	     }
 	   }
+	  private Text _Text_TuPo;
+	  public Text Text_TuPo
+	   {
+	   get{
+	      if (_Text_TuPo == null)
+	       {
+	         _Text_TuPo  = GetUIUnit<Text>("Text_TuPo"); 
+	       }
+	      return _Text_TuPo;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 44 - 10
Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectBreakthroughItemPanel.cs

@@ -4,6 +4,7 @@ using Excel2Json;
 using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Bag;
+using UnityEngine;
 
 namespace Fort23.Mono
 {
@@ -12,6 +13,10 @@ namespace Fort23.Mono
     {
         ItemConfig itemConfig;
         private Action callBack;
+        
+        private Transform weidgetFater;
+
+        BreakthroughItemWidget breakthrough;
 
         private void Init()
         {
@@ -27,6 +32,10 @@ namespace Fort23.Mono
 
         public override void AddButtonEvent()
         {
+            Btn_Close.onClick.AddListener(() =>
+            {
+                UIManager.Instance.HideUIUIPanel(this);
+            });
             Btn_Affirm.onClick.AddListener(() =>
             {
                 this.callBack?.Invoke();
@@ -36,10 +45,13 @@ namespace Fort23.Mono
             Btn_Cancel.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
         }
 
-        public void CustomInit(int itemId, Action callBack)
+        public void CustomInit(BreakthroughItemWidget breakthroughItemWidget, Action callBack)
         {
             this.callBack = callBack;
-            itemConfig = ConfigComponent.Instance.Get<ItemConfig>(itemId);
+            breakthrough = breakthroughItemWidget;
+            weidgetFater = breakthrough.transform.parent;
+            breakthrough.transform.SetParent(this.transform);
+            itemConfig = ConfigComponent.Instance.Get<ItemConfig>(breakthroughItemWidget.itemId);
 
             Text_ItemName.text = LanguageManager.Instance.Text(itemConfig.itemName);
             Text_ItemDesc.text = LanguageManager.Instance.Text(itemConfig.itemDesc);
@@ -54,25 +66,47 @@ namespace Fort23.Mono
                 Text_SucceedDesc.text = $"+{itemConfig.associateVlaue[2]}%";
             }
 
-            if (PlayerManager.Instance.BagController.IsEnough(itemId, 1))
+            if (breakthrough.itemInfo == null)
             {
-                Btn_Affirm.gameObject.SetActive(true);
-                Btn_Cancel.gameObject.SetActive(true);
-                Text_NoEnough.gameObject.SetActive(false);
+                if (PlayerManager.Instance.BagController.IsEnough(breakthroughItemWidget.itemId, 1))
+                {
+                    Text_Affirm.text = "使用";
+                    Btn_Affirm.gameObject.SetActive(true);
+                    Btn_Cancel.gameObject.SetActive(true);
+                    Text_NoEnough.gameObject.SetActive(false);
+                }
+                else
+                {
+                    Btn_Affirm.gameObject.SetActive(false);
+                    Btn_Cancel.gameObject.SetActive(true);
+                    Text_NoEnough.gameObject.SetActive(true);
+                }
             }
             else
             {
-                Btn_Affirm.gameObject.SetActive(false);
+                Text_Affirm.text = "取消";
+                Btn_Affirm.gameObject.SetActive(true);
                 Btn_Cancel.gameObject.SetActive(true);
-                Text_NoEnough.gameObject.SetActive(true);
+                Text_NoEnough.gameObject.SetActive(false);
             }
+
+          
+        }
+
+        public override void Close()
+        {
+            breakthrough.transform.SetParent(weidgetFater);
+            weidgetFater = null;
+            breakthrough = null;
+            callBack = null;
+            base.Close();
         }
 
-        public async static CTask<SelectBreakthroughItemPanel> OpenPanel(int itemId, Action callBack)
+        public async static CTask<SelectBreakthroughItemPanel> OpenPanel(BreakthroughItemWidget breakthroughItemWidget, Action callBack)
         {
             SelectBreakthroughItemPanel selectBreakthroughItemPanel = await UIManager.Instance.LoadAndOpenPanel<SelectBreakthroughItemPanel>(null);
 
-            selectBreakthroughItemPanel.CustomInit(itemId, callBack);
+            selectBreakthroughItemPanel.CustomInit(breakthroughItemWidget, callBack);
             return selectBreakthroughItemPanel;
         }
     }

+ 22 - 0
Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectBreakthroughItemPanelData.cs

@@ -96,6 +96,28 @@ namespace Fort23.Mono
 	      return _Text_NoEnough;
 	     }
 	   }
+	  private Button _Btn_Close;
+	  public Button Btn_Close
+	   {
+	   get{
+	      if (_Btn_Close == null)
+	       {
+	         _Btn_Close  = GetUIUnit<Button>("Btn_Close"); 
+	       }
+	      return _Btn_Close;
+	     }
+	   }
+	  private Text _Text_Affirm;
+	  public Text Text_Affirm
+	   {
+	   get{
+	      if (_Text_Affirm == null)
+	       {
+	         _Text_Affirm  = GetUIUnit<Text>("Text_Affirm"); 
+	       }
+	      return _Text_Affirm;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 20 - 4
Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectElixirPanel.cs

@@ -5,6 +5,8 @@ using Excel2Json;
 using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Bag;
+using log4net.Util;
+using Transform = UnityEngine.Transform;
 
 namespace Fort23.Mono
 {
@@ -17,6 +19,10 @@ namespace Fort23.Mono
 
         Action<ElixirItemWidget> callback;
 
+        private Transform weidgetFater;
+
+        BreakthroughItemWidget breakthrough;
+
         private void Init()
         {
         }
@@ -31,6 +37,7 @@ namespace Fort23.Mono
 
         public override void AddButtonEvent()
         {
+            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
             Btn_Affirm.onClick.AddListener(() =>
             {
                 // if (elixirItemWidget == null)
@@ -53,13 +60,18 @@ namespace Fort23.Mono
             Btn_Cancel.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
         }
 
-        public async void CustomInit(ItemInfo itemInfo, Action<ElixirItemWidget> callback)
+        public async void CustomInit(BreakthroughItemWidget breakthroughItemWidget, Action<ElixirItemWidget> callback)
         {
             this.callback = callback;
 
+            breakthrough = breakthroughItemWidget;
+
             Text_FailDesc.text = $"-{0}%";
             Text_SucceedDesc.text = $"+{0}%";
 
+            weidgetFater = breakthroughItemWidget.transform.parent;
+            breakthroughItemWidget.transform.SetParent(this.transform);
+
             List<ItemConfig> itemConfigs = ConfigComponent.Instance.GetAll<ItemConfig>().ToList();
             var showItemConfigs = itemConfigs.Where(i => i.itemTag == 3 && PlayerManager.Instance.myHero.heroData.heroPowerId >= i.associateVlaue[0] && PlayerManager.Instance.myHero.heroData.heroPowerId <= i.associateVlaue[1]).ToList();
 
@@ -67,9 +79,9 @@ namespace Fort23.Mono
             {
                 ElixirItemWidget elixirItemWidget = await UIManager.Instance.CreateGComponent<ElixirItemWidget>(null, Content);
                 elixirItemWidget.CustomInit(showItemConfig.ID);
-                if (itemInfo != null)
+                if (breakthroughItemWidget.itemInfo != null)
                 {
-                    if (itemInfo.config.ID == showItemConfig.ID)
+                    if (breakthroughItemWidget.itemInfo.config.ID == showItemConfig.ID)
                     {
                         this.elixirItemWidget = elixirItemWidget;
                     }
@@ -118,10 +130,14 @@ namespace Fort23.Mono
             elixirItems.ForEach(e => UIManager.Instance.DormancyGComponent(e));
             elixirItems.Clear();
             elixirItemWidget = null;
+
+            breakthrough.transform.SetParent(weidgetFater);
+            breakthrough = null;
+            weidgetFater = null;
             base.Close();
         }
 
-        public async static CTask<SelectElixirPanel> OpenPanel(ItemInfo itemInfo, Action<ElixirItemWidget> callback = null)
+        public async static CTask<SelectElixirPanel> OpenPanel(BreakthroughItemWidget itemInfo, Action<ElixirItemWidget> callback = null)
         {
             SelectElixirPanel selectElixirPanel = await UIManager.Instance.LoadAndOpenPanel<SelectElixirPanel>(null);
             selectElixirPanel.CustomInit(itemInfo, callback);

+ 11 - 0
Assets/Scripts/GameUI/UI/HeroInformationPanel/SelectElixirPanelData.cs

@@ -63,6 +63,17 @@ namespace Fort23.Mono
 	      return _Btn_Affirm;
 	     }
 	   }
+	  private Button _Btn_Close;
+	  public Button Btn_Close
+	   {
+	   get{
+	      if (_Btn_Close == null)
+	       {
+	         _Btn_Close  = GetUIUnit<Button>("Btn_Close"); 
+	       }
+	      return _Btn_Close;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 1 - 1
Assets/Scripts/GameUI/UI/HeroInformationPanel/UseExpElixirPanel.cs

@@ -47,7 +47,7 @@ namespace Fort23.Mono
         private void OnClick(ItemWidgetBasic obj)
         {
             ExpElixirItemWidget elixirItemWidget = obj as ExpElixirItemWidget;
-            if (AccountFileInfo.Instance.playerData.todayUseExpElixrPanelCount > 20)
+            if (AccountFileInfo.Instance.playerData.todayUseExpElixrPanelCount >= 20)
             {
                 TipMessagePanel.OpenTipMessagePanel("今日使用经验已达上限!");
                 return;

+ 148 - 0
Assets/Scripts/GameUI/UIHelper.cs

@@ -0,0 +1,148 @@
+using System;
+using TMPro;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Fort23.Mono
+{
+    public static class UIHelper
+    {
+        public static void Gray(this Transform transform, bool enableButton = false)
+        {
+            if (transform.GetComponent<Button>() != null)
+            {
+                transform.GetComponent<Button>().enabled = enableButton;
+                if (transform.GetComponent<Button>().image?.GetComponent<MyImage>() != null)
+                    transform.GetComponent<Button>().image.GetComponent<MyImage>().IsGray = true;
+            }
+            else if (transform.GetComponent<MyImage>() != null)
+            {
+                transform.GetComponent<MyImage>().IsGray = true;
+            }
+            else if (transform.GetComponent<Text>() != null)
+            {
+                transform.GetComponent<Text>().material = UIManager.Instance.uiGray;
+            }
+            // else if (transform.GetComponent<MyTextMeshProUGUI>() != null)
+            // {
+            //     transform.GetComponent<MyTextMeshProUGUI>().Gray();
+            // }
+
+            if (transform.childCount > 0)
+            {
+                for (int i = 0; i < transform.childCount; i++)
+                {
+                    Gray(transform.GetChild(i).transform, enableButton);
+                }
+            }
+        }
+
+        public static void RecoverColor(this Transform transform)
+        {
+            // transform.Opaque();
+            if (transform.GetComponent<Button>() != null)
+            {
+                transform.GetComponent<Button>().enabled = true;
+                if (transform.GetComponent<Button>().image?.GetComponent<MyImage>() != null)
+                    transform.GetComponent<Button>().image.GetComponent<MyImage>().IsGray = false;
+            }
+            else if (transform.GetComponent<MyImage>() != null)
+            {
+                transform.GetComponent<MyImage>().IsGray = false;
+            }
+            else if (transform.GetComponent<Text>() != null)
+            {
+                transform.GetComponent<Text>().material = null;
+            }
+            // else if (transform.GetComponent<MyTextMeshProUGUI>() != null)
+            // {
+            //     transform.GetComponent<MyTextMeshProUGUI>().Recover();
+            // }
+
+            if (transform.childCount > 0)
+            {
+                for (int i = 0; i < transform.childCount; i++)
+                {
+                    RecoverColor(transform.GetChild(i).transform);
+                }
+            }
+        }
+        
+        private static Color GrayedColor(Color color)
+        {
+            float gray = Vector3.Dot(new Vector3(color.r, color.g, color.b), new Vector3(0.299f, 0.587f, 0.114f));
+            return new Color(gray, gray, gray, color.a);
+        }
+
+        /// <summary>
+        /// 半透明
+        /// </summary>
+        /// <param name="transform"></param>
+        public static void Translucency(this Transform transform)
+        {
+            RecoverColor(transform);
+            Color color = new Color(0.34f, 0.34f, 0.34f);
+            if (transform.GetComponent<Button>() != null)
+            {
+                if (transform.GetComponent<Button>().image != null && transform.GetComponent<Button>().image.GetComponent<MyImage>().icon_name != string.Empty)
+                    transform.GetComponent<Button>().image.color = color;
+            }
+            else if (transform.GetComponent<MyImage>() != null)
+            {
+                if (transform.GetComponent<MyImage>().icon_name != String.Empty)
+                    transform.GetComponent<MyImage>().color = color;
+            }
+            // else if (transform.GetComponent<Text>() != null)
+            // {
+            //     // transform.GetComponent<Text>().color = color;
+            //     transform.GetComponent<Text>().Translucency();
+            // }
+
+            if (transform.childCount > 0)
+            {
+                for (int i = 0; i < transform.childCount; i++)
+                {
+                    Translucency(transform.GetChild(i).transform);
+                }
+            }
+        }
+
+        /// <summary>
+        /// 从半透明中恢复默认
+        /// </summary>
+        /// <param name="transform"></param>
+        public static void Opaque(this Transform transform)
+        {
+            Color color = new Color(1, 1, 1);
+            if (transform.GetComponent<Button>() != null)
+            {
+                if (transform.GetComponent<Button>().image != null)
+                {
+                    MyImage myImage = transform.GetComponent<Button>().image.GetComponent<MyImage>();
+                    if (myImage != null && myImage.icon_name != string.Empty)
+                        transform.GetComponent<Button>().image.color = color;
+                }
+            }
+            else if (transform.GetComponent<MyImage>() != null)
+            {
+                if (transform.GetComponent<MyImage>().icon_name != String.Empty)
+                {
+                    transform.GetComponent<MyImage>().color = color;
+                }
+            }
+            // else if (transform.GetComponent<Text>() != null)
+            // {
+            //     // transform.GetComponent<Text>().color = color;
+            //     transform.GetComponent<Text>().Recover();
+            // }
+
+            if (transform.childCount > 0)
+            {
+                for (int i = 0; i < transform.childCount; i++)
+                {
+                    Opaque(transform.GetChild(i).transform);
+                }
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameUI/UIHelper.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7efc3d97d4f74690bdd7c70ff93127f0
+timeCreated: 1745906622

+ 532 - 410
UserSettings/Layouts/default-2022.dwlt

@@ -1,6 +1,30 @@
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
 --- !u!114 &1
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PixelRect:
+    serializedVersion: 2
+    x: 971
+    y: 741
+    width: 1370
+    height: 549
+  m_ShowMode: 0
+  m_Title: Console
+  m_RootView: {fileID: 4}
+  m_MinSize: {x: 100, y: 121}
+  m_MaxSize: {x: 4000, y: 4021}
+  m_Maximized: 0
+--- !u!114 &2
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -19,12 +43,63 @@ MonoBehaviour:
     width: 2544
     height: 1333
   m_ShowMode: 4
-  m_Title: Hierarchy
-  m_RootView: {fileID: 2}
+  m_Title: Game
+  m_RootView: {fileID: 5}
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
   m_Maximized: 0
---- !u!114 &2
+--- !u!114 &3
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: ConsoleWindow
+  m_EditorClassIdentifier: 
+  m_Children: []
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1370
+    height: 549
+  m_MinSize: {x: 100, y: 121}
+  m_MaxSize: {x: 4000, y: 4021}
+  m_ActualView: {fileID: 13}
+  m_Panes:
+  - {fileID: 13}
+  m_Selected: 0
+  m_LastSelected: 0
+--- !u!114 &4
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Children:
+  - {fileID: 3}
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1370
+    height: 549
+  m_MinSize: {x: 100, y: 121}
+  m_MaxSize: {x: 4000, y: 4021}
+  vertical: 0
+  controlID: 179404
+  draggingID: 0
+--- !u!114 &5
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -37,9 +112,9 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Children:
-  - {fileID: 3}
-  - {fileID: 4}
-  - {fileID: 5}
+  - {fileID: 6}
+  - {fileID: 8}
+  - {fileID: 7}
   m_Position:
     serializedVersion: 2
     x: 0
@@ -52,7 +127,7 @@ MonoBehaviour:
   m_TopViewHeight: 30
   m_UseBottomView: 1
   m_BottomViewHeight: 20
---- !u!114 &3
+--- !u!114 &6
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -74,7 +149,28 @@ MonoBehaviour:
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
   m_LastLoadedLayoutName: 
---- !u!114 &4
+--- !u!114 &7
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Children: []
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 1313
+    width: 2544
+    height: 20
+  m_MinSize: {x: 0, y: 0}
+  m_MaxSize: {x: 0, y: 0}
+--- !u!114 &8
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -88,9 +184,9 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_Children:
   - {fileID: 9}
-  - {fileID: 6}
-  - {fileID: 7}
-  - {fileID: 8}
+  - {fileID: 10}
+  - {fileID: 11}
+  - {fileID: 12}
   m_Position:
     serializedVersion: 2
     x: 0
@@ -100,9 +196,9 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 50}
   m_MaxSize: {x: 32384, y: 8096}
   vertical: 0
-  controlID: 78
+  controlID: 10785
   draggingID: 0
---- !u!114 &5
+--- !u!114 &9
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -111,19 +207,25 @@ MonoBehaviour:
   m_GameObject: {fileID: 0}
   m_Enabled: 1
   m_EditorHideFlags: 1
-  m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
+  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: SceneView
   m_EditorClassIdentifier: 
   m_Children: []
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 1313
-    width: 2544
-    height: 20
-  m_MinSize: {x: 0, y: 0}
-  m_MaxSize: {x: 0, y: 0}
---- !u!114 &6
+    y: 0
+    width: 1201
+    height: 1283
+  m_MinSize: {x: 201, y: 221}
+  m_MaxSize: {x: 4001, y: 4021}
+  m_ActualView: {fileID: 14}
+  m_Panes:
+  - {fileID: 15}
+  - {fileID: 14}
+  m_Selected: 1
+  m_LastSelected: 0
+--- !u!114 &10
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -140,16 +242,16 @@ MonoBehaviour:
     serializedVersion: 2
     x: 1201
     y: 0
-    width: 288
+    width: 287
     height: 1283
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
-  m_ActualView: {fileID: 10}
+  m_ActualView: {fileID: 16}
   m_Panes:
-  - {fileID: 10}
+  - {fileID: 16}
   m_Selected: 0
   m_LastSelected: 0
---- !u!114 &7
+--- !u!114 &11
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -164,18 +266,18 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1489
+    x: 1488
     y: 0
-    width: 612
+    width: 613
     height: 1283
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
-  m_ActualView: {fileID: 12}
+  m_ActualView: {fileID: 17}
   m_Panes:
-  - {fileID: 12}
+  - {fileID: 17}
   m_Selected: 0
   m_LastSelected: 0
---- !u!114 &8
+--- !u!114 &12
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -196,39 +298,12 @@ MonoBehaviour:
     height: 1283
   m_MinSize: {x: 276, y: 71}
   m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 11}
+  m_ActualView: {fileID: 18}
   m_Panes:
-  - {fileID: 11}
+  - {fileID: 18}
   m_Selected: 0
   m_LastSelected: 0
---- !u!114 &9
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: SceneView
-  m_EditorClassIdentifier: 
-  m_Children: []
-  m_Position:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1201
-    height: 1283
-  m_MinSize: {x: 201, y: 221}
-  m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 14}
-  m_Panes:
-  - {fileID: 13}
-  - {fileID: 14}
-  m_Selected: 1
-  m_LastSelected: 0
---- !u!114 &10
+--- !u!114 &13
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -236,22 +311,22 @@ MonoBehaviour:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 0}
   m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0}
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_MinSize: {x: 200, y: 200}
+  m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 4000, y: 4000}
   m_TitleContent:
-    m_Text: Hierarchy
-    m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0}
+    m_Text: Console
+    m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0}
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: -1351
-    y: 81
-    width: 286
-    height: 1262
+    x: 971
+    y: 741
+    width: 1370
+    height: 528
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -262,36 +337,7 @@ MonoBehaviour:
     m_LastAppliedPresetName: Default
     m_SaveData: []
     m_OverlaysVisible: 1
-  m_SceneHierarchy:
-    m_TreeViewState:
-      scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: 
-      m_LastClickedID: 0
-      m_ExpandedIDs: 5895f3ffd097faffe297faffd4bafaff60bbfaffbac6faffc8c6faff78faffff
-      m_RenameOverlay:
-        m_UserAcceptedRename: 0
-        m_Name: HeroAttributeWidget (1)
-        m_OriginalName: HeroAttributeWidget (1)
-        m_EditFieldRect:
-          serializedVersion: 2
-          x: 0
-          y: 0
-          width: 0
-          height: 0
-        m_UserData: -558950
-        m_IsWaitingForDelay: 0
-        m_IsRenaming: 0
-        m_OriginalEventType: 4
-        m_IsRenamingFilename: 0
-        m_ClientGUIView: {fileID: 6}
-      m_SearchString: 
-    m_ExpandedScenes: []
-    m_CurrenRootInstanceID: 0
-    m_LockTracker:
-      m_IsLocked: 0
-    m_CurrentSortingName: TransformSorting
-  m_WindowGUID: 468457e0d3add1041b6fec0b00b6a014
---- !u!114 &11
+--- !u!114 &14
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -300,311 +346,20 @@ MonoBehaviour:
   m_GameObject: {fileID: 0}
   m_Enabled: 1
   m_EditorHideFlags: 1
-  m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0}
+  m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_MinSize: {x: 275, y: 50}
+  m_MinSize: {x: 200, y: 200}
   m_MaxSize: {x: 4000, y: 4000}
   m_TitleContent:
-    m_Text: Inspector
-    m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, type: 0}
-    m_Tooltip: 
-  m_Pos:
-    serializedVersion: 2
-    x: -451
-    y: 81
-    width: 442
-    height: 1262
-  m_SerializedDataModeController:
-    m_DataMode: 0
-    m_PreferredDataMode: 0
-    m_SupportedDataModes: 
-    isAutomatic: 1
-  m_ViewDataDictionary: {fileID: 0}
-  m_OverlayCanvas:
-    m_LastAppliedPresetName: Default
-    m_SaveData: []
-    m_OverlaysVisible: 1
-  m_ObjectsLockedBeforeSerialization: []
-  m_InstanceIDsLockedBeforeSerialization: 
-  m_PreviewResizer:
-    m_CachedPref: 266
-    m_ControlHash: -371814159
-    m_PrefName: Preview_InspectorPreview
-  m_LastInspectedObjectInstanceID: -1
-  m_LastVerticalScrollValue: 0
-  m_GlobalObjectId: 
-  m_InspectorMode: 0
-  m_LockTracker:
-    m_IsLocked: 0
-  m_PreviewWindow: {fileID: 0}
---- !u!114 &12
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_MinSize: {x: 230, y: 250}
-  m_MaxSize: {x: 10000, y: 10000}
-  m_TitleContent:
-    m_Text: Project
-    m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, type: 0}
+    m_Text: Scene
+    m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, type: 0}
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: -1063
+    x: -2552
     y: 81
-    width: 610
-    height: 1262
-  m_SerializedDataModeController:
-    m_DataMode: 0
-    m_PreferredDataMode: 0
-    m_SupportedDataModes: 
-    isAutomatic: 1
-  m_ViewDataDictionary: {fileID: 0}
-  m_OverlayCanvas:
-    m_LastAppliedPresetName: Default
-    m_SaveData: []
-    m_OverlaysVisible: 1
-  m_SearchFilter:
-    m_NameFilter: gamerun
-    m_ClassNames: []
-    m_AssetLabels: []
-    m_AssetBundleNames: []
-    m_ReferencingInstanceIDs: 
-    m_SceneHandles: 
-    m_ShowAllHits: 0
-    m_SkipHidden: 0
-    m_SearchArea: 0
-    m_Folders:
-    - Assets/ParticleEffectForUGUI/Scripts
-    m_Globs: []
-    m_OriginalText: gamerun
-    m_ImportLogFlags: 0
-    m_FilterByTypeIntersection: 0
-  m_ViewMode: 1
-  m_StartGridSize: 16
-  m_LastFolders:
-  - Assets/ParticleEffectForUGUI/Scripts
-  m_LastFoldersGridSize: 16
-  m_LastProjectPath: D:\FB\XiuXianGame
-  m_LockTracker:
-    m_IsLocked: 0
-  m_FolderTreeState:
-    scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: bebe0000
-    m_LastClickedID: 48830
-    m_ExpandedIDs: 0000000030bc000032bc000034bc000036bc000038bc0000c4be0000d0be0000debe000058bf000000ca9a3b
-    m_RenameOverlay:
-      m_UserAcceptedRename: 0
-      m_Name: 
-      m_OriginalName: 
-      m_EditFieldRect:
-        serializedVersion: 2
-        x: 0
-        y: 0
-        width: 0
-        height: 0
-      m_UserData: 0
-      m_IsWaitingForDelay: 0
-      m_IsRenaming: 0
-      m_OriginalEventType: 11
-      m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 0}
-    m_SearchString: 
-    m_CreateAssetUtility:
-      m_EndAction: {fileID: 0}
-      m_InstanceID: 0
-      m_Path: 
-      m_Icon: {fileID: 0}
-      m_ResourceFile: 
-  m_AssetTreeState:
-    scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: 
-    m_LastClickedID: 0
-    m_ExpandedIDs: 0000000030bc000032bc000034bc000036bc000038bc0000
-    m_RenameOverlay:
-      m_UserAcceptedRename: 0
-      m_Name: 
-      m_OriginalName: 
-      m_EditFieldRect:
-        serializedVersion: 2
-        x: 0
-        y: 0
-        width: 0
-        height: 0
-      m_UserData: 0
-      m_IsWaitingForDelay: 0
-      m_IsRenaming: 0
-      m_OriginalEventType: 11
-      m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 0}
-    m_SearchString: 
-    m_CreateAssetUtility:
-      m_EndAction: {fileID: 0}
-      m_InstanceID: 0
-      m_Path: 
-      m_Icon: {fileID: 0}
-      m_ResourceFile: 
-  m_ListAreaState:
-    m_SelectedInstanceIDs: 
-    m_LastClickedInstanceID: 0
-    m_HadKeyboardFocusLastEvent: 1
-    m_ExpandedInstanceIDs: 
-    m_RenameOverlay:
-      m_UserAcceptedRename: 0
-      m_Name: 
-      m_OriginalName: 
-      m_EditFieldRect:
-        serializedVersion: 2
-        x: 0
-        y: 0
-        width: 0
-        height: 0
-      m_UserData: 0
-      m_IsWaitingForDelay: 0
-      m_IsRenaming: 0
-      m_OriginalEventType: 11
-      m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 7}
-    m_CreateAssetUtility:
-      m_EndAction: {fileID: 0}
-      m_InstanceID: 0
-      m_Path: 
-      m_Icon: {fileID: 0}
-      m_ResourceFile: 
-    m_NewAssetIndexInList: -1
-    m_ScrollPosition: {x: 0, y: 0}
-    m_GridSize: 16
-  m_SkipHiddenPackages: 0
-  m_DirectoriesAreaWidth: 351
---- !u!114 &13
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
-  m_TitleContent:
-    m_Text: Game
-    m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0}
-    m_Tooltip: 
-  m_Pos:
-    serializedVersion: 2
-    x: -2552
-    y: 81
-    width: 1200
-    height: 1262
-  m_SerializedDataModeController:
-    m_DataMode: 0
-    m_PreferredDataMode: 0
-    m_SupportedDataModes: 
-    isAutomatic: 1
-  m_ViewDataDictionary: {fileID: 0}
-  m_OverlayCanvas:
-    m_LastAppliedPresetName: Default
-    m_SaveData: []
-    m_OverlaysVisible: 1
-  m_SerializedViewNames: []
-  m_SerializedViewValues: []
-  m_PlayModeViewName: GameView
-  m_ShowGizmos: 0
-  m_TargetDisplay: 0
-  m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
-  m_TargetSize: {x: 750, y: 1624}
-  m_TextureFilterMode: 0
-  m_TextureHideFlags: 61
-  m_RenderIMGUI: 1
-  m_EnterPlayModeBehavior: 0
-  m_UseMipMap: 0
-  m_VSyncEnabled: 0
-  m_Gizmos: 0
-  m_Stats: 0
-  m_SelectedSizes: 08000000000000000000000012000000000000000000000000000000000000000000000000000000
-  m_ZoomArea:
-    m_HRangeLocked: 0
-    m_VRangeLocked: 0
-    hZoomLockedByDefault: 0
-    vZoomLockedByDefault: 0
-    m_HBaseRangeMin: -375
-    m_HBaseRangeMax: 375
-    m_VBaseRangeMin: -812
-    m_VBaseRangeMax: 812
-    m_HAllowExceedBaseRangeMin: 1
-    m_HAllowExceedBaseRangeMax: 1
-    m_VAllowExceedBaseRangeMin: 1
-    m_VAllowExceedBaseRangeMax: 1
-    m_ScaleWithWindow: 0
-    m_HSlider: 0
-    m_VSlider: 0
-    m_IgnoreScrollWheelUntilClicked: 0
-    m_EnableMouseInput: 0
-    m_EnableSliderZoomHorizontal: 0
-    m_EnableSliderZoomVertical: 0
-    m_UniformScale: 1
-    m_UpDirection: 1
-    m_DrawArea:
-      serializedVersion: 2
-      x: 0
-      y: 21
-      width: 1200
-      height: 1241
-    m_Scale: {x: 0.76416254, y: 0.76416254}
-    m_Translation: {x: 600, y: 620.5}
-    m_MarginLeft: 0
-    m_MarginRight: 0
-    m_MarginTop: 0
-    m_MarginBottom: 0
-    m_LastShownAreaInsideMargins:
-      serializedVersion: 2
-      x: -785.1733
-      y: -812
-      width: 1570.3466
-      height: 1624
-    m_MinimalGUI: 1
-  m_defaultScale: 0.76416254
-  m_LastWindowPixelSize: {x: 1200, y: 1262}
-  m_ClearInEditMode: 1
-  m_NoCameraWarning: 1
-  m_LowResolutionForAspectRatios: 01000001000000000000
-  m_XRRenderMode: 0
-  m_RenderTexture: {fileID: 0}
---- !u!114 &14
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
-  m_TitleContent:
-    m_Text: Scene
-    m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, type: 0}
-    m_Tooltip: 
-  m_Pos:
-    serializedVersion: 2
-    x: -2552
-    y: 81
-    width: 1200
+    width: 1200
     height: 1262
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -953,20 +708,33 @@ MonoBehaviour:
       layout: 4
       size: {x: 0, y: 0}
       sizeOverriden: 0
+    - dockPosition: 1
+      containerId: overlay-container--right
+      floating: 0
+      collapsed: 0
+      displayed: 1
+      snapOffset: {x: 48, y: 48}
+      snapOffsetDelta: {x: 0, y: 0}
+      snapCorner: 0
+      id: UnityEditor.SceneViewCameraOverlay
+      index: 12
+      layout: 4
+      size: {x: 0, y: 0}
+      sizeOverriden: 0
     m_OverlaysVisible: 1
   m_WindowGUID: 3de2bc164a2229345aaffb3c6f51b287
   m_Gizmos: 1
   m_OverrideSceneCullingMask: 6917529027641081856
   m_SceneIsLit: 1
   m_SceneLighting: 1
-  m_2DMode: 1
+  m_2DMode: 0
   m_isRotationLocked: 0
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: 0.3563466, y: 1.4120404, z: 0.10534554}
+    m_Target: {x: 10.455665, y: -0.0046182266, z: -3.791564}
     speed: 2
-    m_Value: {x: 0.3563466, y: 1.4120404, z: 0.10534554}
+    m_Value: {x: 10.455665, y: -0.0046182266, z: -3.791564}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -994,17 +762,17 @@ MonoBehaviour:
       m_Size: {x: 0, y: 0}
     yGrid:
       m_Fade:
-        m_Target: 0
+        m_Target: 1
         speed: 2
-        m_Value: 0
+        m_Value: 1
       m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
       m_Pivot: {x: 0, y: 0, z: 0}
       m_Size: {x: 1, y: 1}
     zGrid:
       m_Fade:
-        m_Target: 1
+        m_Target: 0
         speed: 2
-        m_Value: 1
+        m_Value: 0
       m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
       m_Pivot: {x: 0, y: 0, z: 0}
       m_Size: {x: 1, y: 1}
@@ -1012,17 +780,17 @@ MonoBehaviour:
     m_GridAxis: 1
     m_gridOpacity: 0.5
   m_Rotation:
-    m_Target: {x: 0, y: 0, z: 0, w: 1}
+    m_Target: {x: -0.18691203, y: 0.30988708, z: -0.06227222, w: -0.9301379}
     speed: 2
-    m_Value: {x: 0, y: 0, z: 0, w: 1}
+    m_Value: {x: -0.18691199, y: 0.30988702, z: -0.062272206, w: -0.93013763}
   m_Size:
-    m_Target: 3.1552289
+    m_Target: 12.913765
     speed: 2
-    m_Value: 3.1552289
+    m_Value: 12.913765
   m_Ortho:
-    m_Target: 1
+    m_Target: 0
     speed: 2
-    m_Value: 1
+    m_Value: 0
   m_CameraSettings:
     m_Speed: 1
     m_SpeedNormalized: 0.5
@@ -1038,10 +806,364 @@ MonoBehaviour:
     m_OcclusionCulling: 0
     m_EnableGDRP: 1
     m_BackfaceCulling: 0
-  m_LastSceneViewRotation: {x: 0.001958776, y: 0.9679333, z: -0.25108573, w: 0.0075509315}
+  m_LastSceneViewRotation: {x: -0.18691203, y: 0.30988708, z: -0.06227222, w: -0.9301379}
   m_LastSceneViewOrtho: 0
   m_ReplacementShader: {fileID: 0}
   m_ReplacementString: 
   m_SceneVisActive: 1
   m_LastLockedObject: {fileID: 0}
   m_ViewIsLockedToObject: 0
+--- !u!114 &15
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Game
+    m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: -2552
+    y: 81
+    width: 1200
+    height: 1262
+  m_SerializedDataModeController:
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
+    isAutomatic: 1
+  m_ViewDataDictionary: {fileID: 0}
+  m_OverlayCanvas:
+    m_LastAppliedPresetName: Default
+    m_SaveData: []
+    m_OverlaysVisible: 1
+  m_SerializedViewNames: []
+  m_SerializedViewValues: []
+  m_PlayModeViewName: GameView
+  m_ShowGizmos: 0
+  m_TargetDisplay: 0
+  m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
+  m_TargetSize: {x: 750, y: 1624}
+  m_TextureFilterMode: 0
+  m_TextureHideFlags: 61
+  m_RenderIMGUI: 1
+  m_EnterPlayModeBehavior: 0
+  m_UseMipMap: 0
+  m_VSyncEnabled: 0
+  m_Gizmos: 0
+  m_Stats: 0
+  m_SelectedSizes: 08000000000000000000000012000000000000000000000000000000000000000000000000000000
+  m_ZoomArea:
+    m_HRangeLocked: 0
+    m_VRangeLocked: 0
+    hZoomLockedByDefault: 0
+    vZoomLockedByDefault: 0
+    m_HBaseRangeMin: -375
+    m_HBaseRangeMax: 375
+    m_VBaseRangeMin: -812
+    m_VBaseRangeMax: 812
+    m_HAllowExceedBaseRangeMin: 1
+    m_HAllowExceedBaseRangeMax: 1
+    m_VAllowExceedBaseRangeMin: 1
+    m_VAllowExceedBaseRangeMax: 1
+    m_ScaleWithWindow: 0
+    m_HSlider: 0
+    m_VSlider: 0
+    m_IgnoreScrollWheelUntilClicked: 0
+    m_EnableMouseInput: 0
+    m_EnableSliderZoomHorizontal: 0
+    m_EnableSliderZoomVertical: 0
+    m_UniformScale: 1
+    m_UpDirection: 1
+    m_DrawArea:
+      serializedVersion: 2
+      x: 0
+      y: 21
+      width: 1200
+      height: 1241
+    m_Scale: {x: 0.76416254, y: 0.76416254}
+    m_Translation: {x: 600, y: 620.5}
+    m_MarginLeft: 0
+    m_MarginRight: 0
+    m_MarginTop: 0
+    m_MarginBottom: 0
+    m_LastShownAreaInsideMargins:
+      serializedVersion: 2
+      x: -785.1733
+      y: -812
+      width: 1570.3466
+      height: 1624
+    m_MinimalGUI: 1
+  m_defaultScale: 0.76416254
+  m_LastWindowPixelSize: {x: 1200, y: 1262}
+  m_ClearInEditMode: 1
+  m_NoCameraWarning: 1
+  m_LowResolutionForAspectRatios: 01000001000000000000
+  m_XRRenderMode: 0
+  m_RenderTexture: {fileID: 0}
+--- !u!114 &16
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Hierarchy
+    m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: -1351
+    y: 81
+    width: 285
+    height: 1262
+  m_SerializedDataModeController:
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
+    isAutomatic: 1
+  m_ViewDataDictionary: {fileID: 0}
+  m_OverlayCanvas:
+    m_LastAppliedPresetName: Default
+    m_SaveData: []
+    m_OverlaysVisible: 1
+  m_SceneHierarchy:
+    m_TreeViewState:
+      scrollPos: {x: 0, y: 0}
+      m_SelectedIDs: 
+      m_LastClickedID: 0
+      m_ExpandedIDs: f43af3ff94d6f7ffb4d6f7ff32d7f7ff3cd7f7ff46d7f7ff4cd7f7ff8ed7f7ffc0d7f7ffd0d7f7ff24e7f7ff32e7f7ffda29fbffe829fbff3024fcffcc2dfcffd02dfcffda2dfcff4446fcffd64ffcffe44ffcff1e63fcff2463fcff3463fcff5463fcfff263fcff5c6dfcff6a6dfcff54a9fcff5aa9fcff6aa9fcff84a9fcff00b5fcff0eb5fcffecf0fffff2f0ffff78faffff
+      m_RenameOverlay:
+        m_UserAcceptedRename: 0
+        m_Name: 
+        m_OriginalName: 
+        m_EditFieldRect:
+          serializedVersion: 2
+          x: 0
+          y: 0
+          width: 0
+          height: 0
+        m_UserData: 0
+        m_IsWaitingForDelay: 0
+        m_IsRenaming: 0
+        m_OriginalEventType: 11
+        m_IsRenamingFilename: 0
+        m_ClientGUIView: {fileID: 9}
+      m_SearchString: 
+    m_ExpandedScenes: []
+    m_CurrenRootInstanceID: 0
+    m_LockTracker:
+      m_IsLocked: 0
+    m_CurrentSortingName: TransformSorting
+  m_WindowGUID: 468457e0d3add1041b6fec0b00b6a014
+--- !u!114 &17
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 230, y: 250}
+  m_MaxSize: {x: 10000, y: 10000}
+  m_TitleContent:
+    m_Text: Project
+    m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: -1064
+    y: 81
+    width: 611
+    height: 1262
+  m_SerializedDataModeController:
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
+    isAutomatic: 1
+  m_ViewDataDictionary: {fileID: 0}
+  m_OverlayCanvas:
+    m_LastAppliedPresetName: Default
+    m_SaveData: []
+    m_OverlaysVisible: 1
+  m_SearchFilter:
+    m_NameFilter: gamerun
+    m_ClassNames: []
+    m_AssetLabels: []
+    m_AssetBundleNames: []
+    m_ReferencingInstanceIDs: 
+    m_SceneHandles: 
+    m_ShowAllHits: 0
+    m_SkipHidden: 0
+    m_SearchArea: 1
+    m_Folders:
+    - Assets/Res/UI/HeroInformainPanel
+    m_Globs: []
+    m_OriginalText: gamerun
+    m_ImportLogFlags: 0
+    m_FilterByTypeIntersection: 0
+  m_ViewMode: 1
+  m_StartGridSize: 16
+  m_LastFolders:
+  - Assets/Res/UI/HeroInformainPanel
+  m_LastFoldersGridSize: 16
+  m_LastProjectPath: D:\FB\XiuXianGame
+  m_LockTracker:
+    m_IsLocked: 0
+  m_FolderTreeState:
+    scrollPos: {x: 0, y: 518}
+    m_SelectedIDs: 98bf0000
+    m_LastClickedID: 49048
+    m_ExpandedIDs: 000000006abc00006cbc00006ebc000070bc000072bc0000debe0000fcbe000016bf000078bf00005ccf000000ca9a3b
+    m_RenameOverlay:
+      m_UserAcceptedRename: 0
+      m_Name: 
+      m_OriginalName: 
+      m_EditFieldRect:
+        serializedVersion: 2
+        x: 0
+        y: 0
+        width: 0
+        height: 0
+      m_UserData: 0
+      m_IsWaitingForDelay: 0
+      m_IsRenaming: 0
+      m_OriginalEventType: 11
+      m_IsRenamingFilename: 1
+      m_ClientGUIView: {fileID: 0}
+    m_SearchString: 
+    m_CreateAssetUtility:
+      m_EndAction: {fileID: 0}
+      m_InstanceID: 0
+      m_Path: 
+      m_Icon: {fileID: 0}
+      m_ResourceFile: 
+  m_AssetTreeState:
+    scrollPos: {x: 0, y: 0}
+    m_SelectedIDs: 
+    m_LastClickedID: 0
+    m_ExpandedIDs: 000000006abc00006cbc00006ebc000070bc000072bc000000ca9a3b
+    m_RenameOverlay:
+      m_UserAcceptedRename: 0
+      m_Name: 
+      m_OriginalName: 
+      m_EditFieldRect:
+        serializedVersion: 2
+        x: 0
+        y: 0
+        width: 0
+        height: 0
+      m_UserData: 0
+      m_IsWaitingForDelay: 0
+      m_IsRenaming: 0
+      m_OriginalEventType: 11
+      m_IsRenamingFilename: 1
+      m_ClientGUIView: {fileID: 0}
+    m_SearchString: 
+    m_CreateAssetUtility:
+      m_EndAction: {fileID: 0}
+      m_InstanceID: 0
+      m_Path: 
+      m_Icon: {fileID: 0}
+      m_ResourceFile: 
+  m_ListAreaState:
+    m_SelectedInstanceIDs: 
+    m_LastClickedInstanceID: 0
+    m_HadKeyboardFocusLastEvent: 1
+    m_ExpandedInstanceIDs: 
+    m_RenameOverlay:
+      m_UserAcceptedRename: 0
+      m_Name: UseExpElixirPanel
+      m_OriginalName: UseExpElixirPanel
+      m_EditFieldRect:
+        serializedVersion: 2
+        x: 0
+        y: 0
+        width: 0
+        height: 0
+      m_UserData: 352920
+      m_IsWaitingForDelay: 0
+      m_IsRenaming: 0
+      m_OriginalEventType: 0
+      m_IsRenamingFilename: 1
+      m_ClientGUIView: {fileID: 11}
+    m_CreateAssetUtility:
+      m_EndAction: {fileID: 0}
+      m_InstanceID: 0
+      m_Path: 
+      m_Icon: {fileID: 0}
+      m_ResourceFile: 
+    m_NewAssetIndexInList: -1
+    m_ScrollPosition: {x: 0, y: 0}
+    m_GridSize: 16
+  m_SkipHiddenPackages: 0
+  m_DirectoriesAreaWidth: 351
+--- !u!114 &18
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 275, y: 50}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Inspector
+    m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: -451
+    y: 81
+    width: 442
+    height: 1262
+  m_SerializedDataModeController:
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
+    isAutomatic: 1
+  m_ViewDataDictionary: {fileID: 0}
+  m_OverlayCanvas:
+    m_LastAppliedPresetName: Default
+    m_SaveData: []
+    m_OverlaysVisible: 1
+  m_ObjectsLockedBeforeSerialization: []
+  m_InstanceIDsLockedBeforeSerialization: 
+  m_PreviewResizer:
+    m_CachedPref: 266
+    m_ControlHash: -371814159
+    m_PrefName: Preview_InspectorPreview
+  m_LastInspectedObjectInstanceID: -1
+  m_LastVerticalScrollValue: 0
+  m_GlobalObjectId: 
+  m_InspectorMode: 0
+  m_LockTracker:
+    m_IsLocked: 0
+  m_PreviewWindow: {fileID: 0}