瀏覽代碼

Merge branch 'master' of http://192.168.123.2:3000/fort23/XY001

# Conflicts:
#	UserSettings/EditorUserSettings.asset   resolved by origin/master(远端) version
#	UserSettings/Layouts/default-2022.dwlt   resolved by origin/master(远端) version
李桃 5 月之前
父節點
當前提交
75b7be1a94
共有 57 個文件被更改,包括 3317 次插入2085 次删除
  1. 1 1
      Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss01_die.prefab
  2. 1 1
      Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss02_at_hit.prefab
  3. 1 1
      Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss02_die.prefab
  4. 1 1
      Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss02_sk3.prefab
  5. 1 1
      Assets/Art/VFX/FXPrefabs/fx_gw05_zd_hit.prefab
  6. 1 1
      Assets/Art/VFX/FXPrefabs/fx_hero03_sk1_lv4.prefab
  7. 3 3
      Assets/Art/VFX/FXPrefabs/fx_hero03_sk1_lv4_hit.prefab
  8. 1 1
      Assets/Art/VFX/FXPrefabs/fx_hero03_zd_hit.prefab
  9. 3 3
      Assets/Art/VFX/HeroFXprefab/fx_603_sk3_hit.prefab
  10. 2 2
      Assets/Art/VFX/HeroFXprefab/fx_gongjian_sk_zd_hit.prefab
  11. 1 1
      Assets/GPUECSAnimationBaker/Samples/Shaders/GPUECSAnimator_URP_SimpleShader.shadergraph.meta
  12. 2 2
      Assets/Layer Lab/GUI Pro-SuperCasual/ResourcesData/Fonts/Cairo_Line_Black SDF.asset
  13. 12 0
      Assets/Res/Config/LanguageChineseConfig.json
  14. 20 60
      Assets/Res/Config/SkillUpConfig.json
  15. 118 702
      Assets/Res/UI/HeroDetailPanel.prefab
  16. 179 0
      Assets/Res/UI/HeroUpTxtEft.prefab
  17. 7 0
      Assets/Res/UI/HeroUpTxtEft.prefab.meta
  18. 315 0
      Assets/Res/UIPlayable/HeroAttUp.playable
  19. 8 0
      Assets/Res/UIPlayable/HeroAttUp.playable.meta
  20. 4 4
      Assets/Res/UIPlayable/HeroDetailPanelTimeline.playable
  21. 171 0
      Assets/Res/UIPlayable/HeroPowerUpPreTimeline.playable
  22. 8 0
      Assets/Res/UIPlayable/HeroPowerUpPreTimeline.playable.meta
  23. 43 0
      Assets/Resources/MyShader_UIImageGray.mat
  24. 8 0
      Assets/Resources/MyShader_UIImageGray.mat.meta
  25. 125 0
      Assets/Resources/UIImageGray.shader
  26. 9 0
      Assets/Resources/UIImageGray.shader.meta
  27. 419 430
      Assets/Scenes/UIBuild.scene
  28. 35 6
      Assets/Scripts/Core/UI/Core/UIManager.cs
  29. 12 0
      Assets/Scripts/Core/UI/UTool/Enum.cs
  30. 39 5
      Assets/Scripts/Core/UI/UTool/MyImage.cs
  31. 7 13
      Assets/Scripts/Core/UI/UTool/UtilTools.cs
  32. 4 2
      Assets/Scripts/Core/Utility/GlobalParam.cs
  33. 2 2
      Assets/Scripts/GameData/ExcelConfig/SkillUpConfig.cs
  34. 1 3
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroTimeLineControl.cs
  35. 1 1
      Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs
  36. 66 18
      Assets/Scripts/GameLogic/Hero/HeroController.cs
  37. 12 4
      Assets/Scripts/GameLogic/Hero/HeroInfo.cs
  38. 23 0
      Assets/Scripts/GameLogic/Hero/SkillData.cs
  39. 4 1
      Assets/Scripts/GameLogic/Hero/SkillInfo.cs
  40. 188 17
      Assets/Scripts/GameUI/UI/Hero/HeroDetailPanel.cs
  41. 66 0
      Assets/Scripts/GameUI/UI/Hero/HeroDetailPanelData.cs
  42. 157 0
      Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPre.cs
  43. 11 0
      Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPre.cs.meta
  44. 339 0
      Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPreData.cs
  45. 11 0
      Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPreData.cs.meta
  46. 29 0
      Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEft.cs
  47. 11 0
      Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEft.cs.meta
  48. 31 0
      Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEftData.cs
  49. 11 0
      Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEftData.cs.meta
  50. 0 0
      Assets/StreamingAssets/assetConfig.txt
  51. 二進制
      Excel2Json/Excel/Language.xlsx
  52. 二進制
      Excel2Json/Excel/skill.xlsx
  53. 93 1
      ProjectSettings/ProjectSettings.asset
  54. 6 6
      UserSettings/EditorUserSettings.asset
  55. 302 157
      UserSettings/Layouts/CurrentMaximizeLayout.dwlt
  56. 387 630
      UserSettings/Layouts/default-2022.dwlt
  57. 5 5
      美术/工具/imgui.ini

+ 1 - 1
Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss01_die.prefab

@@ -11,7 +11,7 @@ GameObject:
   - component: {fileID: 6049754273963698250}
   - component: {fileID: 6049754273963698250}
   - component: {fileID: 5966659189747502063}
   - component: {fileID: 5966659189747502063}
   - component: {fileID: 7488735965061554849}
   - component: {fileID: 7488735965061554849}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: fx hit 02
   m_Name: fx hit 02
   m_TagString: Untagged
   m_TagString: Untagged

+ 1 - 1
Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss02_at_hit.prefab

@@ -11,7 +11,7 @@ GameObject:
   - component: {fileID: 4848857900862052736}
   - component: {fileID: 4848857900862052736}
   - component: {fileID: 6272310458557790650}
   - component: {fileID: 6272310458557790650}
   - component: {fileID: 6072089570590920922}
   - component: {fileID: 6072089570590920922}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: fx hit 02
   m_Name: fx hit 02
   m_TagString: Untagged
   m_TagString: Untagged

+ 1 - 1
Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss02_die.prefab

@@ -4833,7 +4833,7 @@ GameObject:
   - component: {fileID: 1657475573553443940}
   - component: {fileID: 1657475573553443940}
   - component: {fileID: 6058026672694843542}
   - component: {fileID: 6058026672694843542}
   - component: {fileID: 7640519929796605012}
   - component: {fileID: 7640519929796605012}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: fx hit 02
   m_Name: fx hit 02
   m_TagString: Untagged
   m_TagString: Untagged

+ 1 - 1
Assets/Art/VFX/FXPrefabs/fx_GuaiwuBoss02_sk3.prefab

@@ -4851,7 +4851,7 @@ GameObject:
   - component: {fileID: 1042380700773160647}
   - component: {fileID: 1042380700773160647}
   - component: {fileID: 3249661059581292910}
   - component: {fileID: 3249661059581292910}
   - component: {fileID: 2071076661214815422}
   - component: {fileID: 2071076661214815422}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: gw_wolf_xl_lashen_hit
   m_Name: gw_wolf_xl_lashen_hit
   m_TagString: Untagged
   m_TagString: Untagged

+ 1 - 1
Assets/Art/VFX/FXPrefabs/fx_gw05_zd_hit.prefab

@@ -11,7 +11,7 @@ GameObject:
   - component: {fileID: 3729565195151667955}
   - component: {fileID: 3729565195151667955}
   - component: {fileID: 7904322658294936379}
   - component: {fileID: 7904322658294936379}
   - component: {fileID: 1027587173545802054}
   - component: {fileID: 1027587173545802054}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: fx hit 02
   m_Name: fx hit 02
   m_TagString: Untagged
   m_TagString: Untagged

+ 1 - 1
Assets/Art/VFX/FXPrefabs/fx_hero03_sk1_lv4.prefab

@@ -14661,7 +14661,7 @@ GameObject:
   - component: {fileID: 1838598622707149557}
   - component: {fileID: 1838598622707149557}
   - component: {fileID: 3032478949462624890}
   - component: {fileID: 3032478949462624890}
   - component: {fileID: 1347109686871624062}
   - component: {fileID: 1347109686871624062}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: 01lz
   m_Name: 01lz
   m_TagString: Untagged
   m_TagString: Untagged

+ 3 - 3
Assets/Art/VFX/FXPrefabs/fx_hero03_sk1_lv4_hit.prefab

@@ -11,7 +11,7 @@ GameObject:
   - component: {fileID: 936237491552516621}
   - component: {fileID: 936237491552516621}
   - component: {fileID: 403996030965646192}
   - component: {fileID: 403996030965646192}
   - component: {fileID: 1232859928959573038}
   - component: {fileID: 1232859928959573038}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: 01lz
   m_Name: 01lz
   m_TagString: Untagged
   m_TagString: Untagged
@@ -4911,7 +4911,7 @@ GameObject:
   - component: {fileID: 3947900211900709640}
   - component: {fileID: 3947900211900709640}
   - component: {fileID: 4802851990055991379}
   - component: {fileID: 4802851990055991379}
   - component: {fileID: 4662138587275875069}
   - component: {fileID: 4662138587275875069}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: fx_sq_ice_qi
   m_Name: fx_sq_ice_qi
   m_TagString: Untagged
   m_TagString: Untagged
@@ -24463,7 +24463,7 @@ GameObject:
   - component: {fileID: 3291127223234529344}
   - component: {fileID: 3291127223234529344}
   - component: {fileID: 617845641510818566}
   - component: {fileID: 617845641510818566}
   - component: {fileID: 3049503252206903055}
   - component: {fileID: 3049503252206903055}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: add01
   m_Name: add01
   m_TagString: Untagged
   m_TagString: Untagged

+ 1 - 1
Assets/Art/VFX/FXPrefabs/fx_hero03_zd_hit.prefab

@@ -4860,7 +4860,7 @@ GameObject:
   - component: {fileID: 6006182258090252002}
   - component: {fileID: 6006182258090252002}
   - component: {fileID: 6950301212083638545}
   - component: {fileID: 6950301212083638545}
   - component: {fileID: 5663650159403352807}
   - component: {fileID: 5663650159403352807}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: 01lz
   m_Name: 01lz
   m_TagString: Untagged
   m_TagString: Untagged

+ 3 - 3
Assets/Art/VFX/HeroFXprefab/fx_603_sk3_hit.prefab

@@ -11,7 +11,7 @@ GameObject:
   - component: {fileID: 4206717956757350907}
   - component: {fileID: 4206717956757350907}
   - component: {fileID: 2228971666430464298}
   - component: {fileID: 2228971666430464298}
   - component: {fileID: 8625306633868286227}
   - component: {fileID: 8625306633868286227}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: 'qiliu huan '
   m_Name: 'qiliu huan '
   m_TagString: Untagged
   m_TagString: Untagged
@@ -9793,7 +9793,7 @@ GameObject:
   - component: {fileID: 7377552948516230674}
   - component: {fileID: 7377552948516230674}
   - component: {fileID: 7377552948516230668}
   - component: {fileID: 7377552948516230668}
   - component: {fileID: 7377552948516230675}
   - component: {fileID: 7377552948516230675}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: fx hit 02
   m_Name: fx hit 02
   m_TagString: Untagged
   m_TagString: Untagged
@@ -14684,7 +14684,7 @@ GameObject:
   - component: {fileID: 7377552948521754755}
   - component: {fileID: 7377552948521754755}
   - component: {fileID: 7377552948521754877}
   - component: {fileID: 7377552948521754877}
   - component: {fileID: 7377552948521754876}
   - component: {fileID: 7377552948521754876}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: alpha bd3
   m_Name: alpha bd3
   m_TagString: Untagged
   m_TagString: Untagged

+ 2 - 2
Assets/Art/VFX/HeroFXprefab/fx_gongjian_sk_zd_hit.prefab

@@ -11,7 +11,7 @@ GameObject:
   - component: {fileID: 3593032433283793086}
   - component: {fileID: 3593032433283793086}
   - component: {fileID: 1503262672807290895}
   - component: {fileID: 1503262672807290895}
   - component: {fileID: 7625455446465716647}
   - component: {fileID: 7625455446465716647}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: fx hit 02
   m_Name: fx hit 02
   m_TagString: Untagged
   m_TagString: Untagged
@@ -14693,7 +14693,7 @@ GameObject:
   - component: {fileID: 8119558514484951478}
   - component: {fileID: 8119558514484951478}
   - component: {fileID: 6710937725569679889}
   - component: {fileID: 6710937725569679889}
   - component: {fileID: 2976806540184167248}
   - component: {fileID: 2976806540184167248}
-  m_Layer: 7
+  m_Layer: 0
   m_HasEditorInfo: 1
   m_HasEditorInfo: 1
   m_Name: alpha bd3
   m_Name: alpha bd3
   m_TagString: Untagged
   m_TagString: Untagged

+ 1 - 1
Assets/GPUECSAnimationBaker/Samples/Shaders/GPUECSAnimator_URP_SimpleShader.shadergraph.meta

@@ -5,6 +5,6 @@ ScriptedImporter:
   externalObjects: {}
   externalObjects: {}
   serializedVersion: 2
   serializedVersion: 2
   userData: 
   userData: 
-  assetBundleName: fb010shader
+  assetBundleName: 
   assetBundleVariant: 
   assetBundleVariant: 
   script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
   script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

+ 2 - 2
Assets/Layer Lab/GUI Pro-SuperCasual/ResourcesData/Fonts/Cairo_Line_Black SDF.asset

@@ -5740,8 +5740,8 @@ Material:
     - _Stencil: 0
     - _Stencil: 0
     - _StencilComp: 8
     - _StencilComp: 8
     - _StencilOp: 0
     - _StencilOp: 0
-    - _StencilReadMask: 255
-    - _StencilWriteMask: 255
+    - _StencilReadMask: 1
+    - _StencilWriteMask: 0
     - _TextureHeight: 1024
     - _TextureHeight: 1024
     - _TextureWidth: 1024
     - _TextureWidth: 1024
     - _UnderlayDilate: 1
     - _UnderlayDilate: 1

+ 12 - 0
Assets/Res/Config/LanguageChineseConfig.json

@@ -239,6 +239,18 @@
     {
     {
       "ID": 60,
       "ID": 60,
       "txt": "万箭齐发"
       "txt": "万箭齐发"
+    },
+    {
+      "ID": 61,
+      "txt": "解锁"
+    },
+    {
+      "ID": 62,
+      "txt": "等级{0}>>{1}"
+    },
+    {
+      "ID": 63,
+      "txt": "主力英雄等级差不得超过10级"
     }
     }
   ]
   ]
 }
 }

+ 20 - 60
Assets/Res/Config/SkillUpConfig.json

@@ -5,180 +5,140 @@
       "upType": 1,
       "upType": 1,
       "upValue": 1,
       "upValue": 1,
       "idx": 0,
       "idx": 0,
-      "skillParam": [
-        1
-      ]
+      "skillLv": 1
     },
     },
     {
     {
       "ID": 11,
       "ID": 11,
       "upType": 1,
       "upType": 1,
       "upValue": 1,
       "upValue": 1,
       "idx": 1,
       "idx": 1,
-      "skillParam": [
-        1
-      ]
+      "skillLv": 1
     },
     },
     {
     {
       "ID": 12,
       "ID": 12,
       "upType": 1,
       "upType": 1,
       "upValue": 31,
       "upValue": 31,
       "idx": 1,
       "idx": 1,
-      "skillParam": [
-        2
-      ]
+      "skillLv": 2
     },
     },
     {
     {
       "ID": 13,
       "ID": 13,
       "upType": 1,
       "upType": 1,
       "upValue": 131,
       "upValue": 131,
       "idx": 1,
       "idx": 1,
-      "skillParam": [
-        3
-      ]
+      "skillLv": 3
     },
     },
     {
     {
       "ID": 14,
       "ID": 14,
       "upType": 1,
       "upType": 1,
       "upValue": 231,
       "upValue": 231,
       "idx": 1,
       "idx": 1,
-      "skillParam": [
-        4
-      ]
+      "skillLv": 4
     },
     },
     {
     {
       "ID": 21,
       "ID": 21,
       "upType": 1,
       "upType": 1,
       "upValue": 11,
       "upValue": 11,
       "idx": 2,
       "idx": 2,
-      "skillParam": [
-        1
-      ]
+      "skillLv": 1
     },
     },
     {
     {
       "ID": 22,
       "ID": 22,
       "upType": 1,
       "upType": 1,
       "upValue": 51,
       "upValue": 51,
       "idx": 2,
       "idx": 2,
-      "skillParam": [
-        2
-      ]
+      "skillLv": 2
     },
     },
     {
     {
       "ID": 23,
       "ID": 23,
       "upType": 1,
       "upType": 1,
       "upValue": 151,
       "upValue": 151,
       "idx": 2,
       "idx": 2,
-      "skillParam": [
-        3
-      ]
+      "skillLv": 3
     },
     },
     {
     {
       "ID": 24,
       "ID": 24,
       "upType": 1,
       "upType": 1,
       "upValue": 251,
       "upValue": 251,
       "idx": 2,
       "idx": 2,
-      "skillParam": [
-        4
-      ]
+      "skillLv": 4
     },
     },
     {
     {
       "ID": 31,
       "ID": 31,
       "upType": 2,
       "upType": 2,
       "upValue": 5,
       "upValue": 5,
       "idx": 3,
       "idx": 3,
-      "skillParam": [
-        1
-      ]
+      "skillLv": 1
     },
     },
     {
     {
       "ID": 32,
       "ID": 32,
       "upType": 1,
       "upType": 1,
       "upValue": 71,
       "upValue": 71,
       "idx": 3,
       "idx": 3,
-      "skillParam": [
-        2
-      ]
+      "skillLv": 2
     },
     },
     {
     {
       "ID": 33,
       "ID": 33,
       "upType": 1,
       "upType": 1,
       "upValue": 171,
       "upValue": 171,
       "idx": 3,
       "idx": 3,
-      "skillParam": [
-        3
-      ]
+      "skillLv": 3
     },
     },
     {
     {
       "ID": 34,
       "ID": 34,
       "upType": 1,
       "upType": 1,
       "upValue": 271,
       "upValue": 271,
       "idx": 3,
       "idx": 3,
-      "skillParam": [
-        4
-      ]
+      "skillLv": 4
     },
     },
     {
     {
       "ID": 41,
       "ID": 41,
       "upType": 2,
       "upType": 2,
       "upValue": 7,
       "upValue": 7,
       "idx": 4,
       "idx": 4,
-      "skillParam": [
-        1
-      ]
+      "skillLv": 1
     },
     },
     {
     {
       "ID": 42,
       "ID": 42,
       "upType": 1,
       "upType": 1,
       "upValue": 91,
       "upValue": 91,
       "idx": 4,
       "idx": 4,
-      "skillParam": [
-        2
-      ]
+      "skillLv": 2
     },
     },
     {
     {
       "ID": 43,
       "ID": 43,
       "upType": 1,
       "upType": 1,
       "upValue": 191,
       "upValue": 191,
       "idx": 4,
       "idx": 4,
-      "skillParam": [
-        3
-      ]
+      "skillLv": 3
     },
     },
     {
     {
       "ID": 44,
       "ID": 44,
       "upType": 1,
       "upType": 1,
       "upValue": 291,
       "upValue": 291,
       "idx": 4,
       "idx": 4,
-      "skillParam": [
-        4
-      ]
+      "skillLv": 4
     },
     },
     {
     {
       "ID": 51,
       "ID": 51,
       "upType": 2,
       "upType": 2,
       "upValue": 9,
       "upValue": 9,
       "idx": 5,
       "idx": 5,
-      "skillParam": [
-        1
-      ]
+      "skillLv": 1
     },
     },
     {
     {
       "ID": 52,
       "ID": 52,
       "upType": 1,
       "upType": 1,
       "upValue": 111,
       "upValue": 111,
       "idx": 5,
       "idx": 5,
-      "skillParam": [
-        2
-      ]
+      "skillLv": 2
     },
     },
     {
     {
       "ID": 53,
       "ID": 53,
       "upType": 1,
       "upType": 1,
       "upValue": 211,
       "upValue": 211,
       "idx": 5,
       "idx": 5,
-      "skillParam": [
-        3
-      ]
+      "skillLv": 3
     }
     }
   ]
   ]
 }
 }

文件差異過大導致無法顯示
+ 118 - 702
Assets/Res/UI/HeroDetailPanel.prefab


+ 179 - 0
Assets/Res/UI/HeroUpTxtEft.prefab

@@ -0,0 +1,179 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &2287078410214474204
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5135952974914396357}
+  - component: {fileID: 4114408173942861410}
+  - component: {fileID: 3992509306590940860}
+  - component: {fileID: 7782233227781314710}
+  - component: {fileID: 2783349857181196743}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: HeroUpTxtEft
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5135952974914396357
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2287078410214474204}
+  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: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 231.72, y: 88}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &4114408173942861410
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2287078410214474204}
+  m_CullTransparentMesh: 1
+--- !u!114 &3992509306590940860
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2287078410214474204}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: +700
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 7137805b022d44869b12d93cb388c588, type: 2}
+  m_sharedMaterial: {fileID: 8527393934874279224, guid: 7137805b022d44869b12d93cb388c588, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4278255045
+  m_fontColor: {r: 0.7719639, g: 0.990566, b: 0, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 35
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 1
+  m_fontSizeMin: 24
+  m_fontSizeMax: 35
+  m_fontStyle: 0
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 2.178482, z: 93.673706, w: 16.338444}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!320 &7782233227781314710
+PlayableDirector:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2287078410214474204}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_PlayableAsset: {fileID: 11400000, guid: b35f94bfbd73348a889cedd28430af14, type: 2}
+  m_InitialState: 1
+  m_WrapMode: 2
+  m_DirectorUpdateMode: 1
+  m_InitialTime: 0
+  m_SceneBindings:
+  - key: {fileID: 6582516066229308053, guid: b35f94bfbd73348a889cedd28430af14, type: 2}
+    value: {fileID: 5135952974914396357}
+  - key: {fileID: -8189757671495878384, guid: b35f94bfbd73348a889cedd28430af14, type: 2}
+    value: {fileID: 3992509306590940860}
+  m_ExposedReferences:
+    m_References: []
+--- !u!114 &2783349857181196743
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2287078410214474204}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: txtEft
+    gameObject: {fileID: 3992509306590940860}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1

+ 7 - 0
Assets/Res/UI/HeroUpTxtEft.prefab.meta

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

+ 315 - 0
Assets/Res/UIPlayable/HeroAttUp.playable

@@ -0,0 +1,315 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!114 &-8189757671495878384
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  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: 11500000, guid: 583515fb0fbe9ff4ba244ff5c01d126d, type: 3}
+  m_Name: Text Mesh Pro UGUI Animation Track
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_AnimClip: {fileID: 0}
+  m_Locked: 0
+  m_Muted: 0
+  m_CustomPlayableFullTypename: 
+  m_Curves: {fileID: 0}
+  m_Parent: {fileID: 11400000}
+  m_Children: []
+  m_Clips:
+  - m_Version: 1
+    m_Start: 0
+    m_ClipIn: 0
+    m_Asset: {fileID: -4700745978088650691}
+    m_Duration: 0.5
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: -8189757671495878384}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: -1
+    m_BlendOutDuration: -1
+    m_MixInCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_MixOutCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_BlendInCurveMode: 0
+    m_BlendOutCurveMode: 0
+    m_ExposedParameterNames: []
+    m_AnimationCurves: {fileID: 0}
+    m_Recordable: 0
+    m_PostExtrapolationMode: 0
+    m_PreExtrapolationMode: 0
+    m_PostExtrapolationTime: 0
+    m_PreExtrapolationTime: 0
+    m_DisplayName: TextMeshProUGUIAnimationClip
+  m_Markers:
+    m_Objects: []
+--- !u!114 &-6204559280289277337
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  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: 11500000, guid: 11aa0b29ff13eab449a39fa0f8c3c506, type: 3}
+  m_Name: RectTransformAnimationClip
+  m_EditorClassIdentifier: 
+  template:
+    _loopDuration: 0
+    _loopType: 0
+    _curve:
+      _curveType: 0
+      _easeType: 0
+      _animationCurve:
+        serializedVersion: 2
+        m_Curve: []
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    _controlPosition: 1
+    _controlSize: 0
+    _controlRotation: 0
+    _controlScale: 0
+    _startValue:
+      _anchoredPosition: {x: 0, y: 0, z: 0}
+      _sizeDelta: {x: 0, y: 0}
+      _localRotation: {x: 0, y: 0, z: 0}
+      _localScale: {x: 0, y: 0, z: 0}
+    _endValue:
+      _anchoredPosition: {x: 0, y: 50, z: 0}
+      _sizeDelta: {x: 0, y: 0}
+      _localRotation: {x: 0, y: 0, z: 0}
+      _localScale: {x: 0, y: 0, z: 0}
+--- !u!114 &-4700745978088650691
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  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: 11500000, guid: aa164a07e2607b34aad5f7abdaeda554, type: 3}
+  m_Name: TextMeshProUGUIAnimationClip
+  m_EditorClassIdentifier: 
+  template:
+    _loopDuration: 0
+    _loopType: 0
+    _curve:
+      _curveType: 0
+      _easeType: 0
+      _animationCurve:
+        serializedVersion: 2
+        m_Curve: []
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    _controlFontSize: 0
+    _controlColor: 1
+    _controlVertexGradient: 0
+    _controlSpacing: 0
+    _controlRuntimeFaceColor: 0
+    _controlRuntimeOutlineColor: 0
+    _controlRuntimeOutlineWidth: 0
+    _startValue:
+      _fontSize: 36
+      _color: {r: 0.46659112, g: 1, b: 0, a: 1}
+      _gradient:
+        _usePreset: 0
+        _vertexGradient:
+          topLeft: {r: 1, g: 1, b: 1, a: 1}
+          topRight: {r: 1, g: 1, b: 1, a: 1}
+          bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+          bottomRight: {r: 1, g: 1, b: 1, a: 1}
+        _preset: {fileID: 0}
+      _spacing:
+        _character: 0
+        _line: 0
+        _word: 0
+        _paragraph: 0
+      _faceColor: {r: 1, g: 1, b: 1, a: 1}
+      _outlineColor: {r: 0, g: 0, b: 0, a: 1}
+      _outlineWidth: 0
+    _endValue:
+      _fontSize: 36
+      _color: {r: 0.46659112, g: 1, b: 0, a: 0}
+      _gradient:
+        _usePreset: 0
+        _vertexGradient:
+          topLeft: {r: 1, g: 1, b: 1, a: 1}
+          topRight: {r: 1, g: 1, b: 1, a: 1}
+          bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+          bottomRight: {r: 1, g: 1, b: 1, a: 1}
+        _preset: {fileID: 0}
+      _spacing:
+        _character: 0
+        _line: 0
+        _word: 0
+        _paragraph: 0
+      _faceColor: {r: 1, g: 1, b: 1, a: 1}
+      _outlineColor: {r: 0, g: 0, b: 0, a: 1}
+      _outlineWidth: 0
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  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: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3}
+  m_Name: HeroAttUp
+  m_EditorClassIdentifier: 
+  m_Version: 0
+  m_Tracks:
+  - {fileID: 6582516066229308053}
+  - {fileID: -8189757671495878384}
+  m_FixedDuration: 0
+  m_EditorSettings:
+    m_Framerate: 60
+    m_ScenePreview: 1
+  m_DurationMode: 0
+  m_MarkerTrack: {fileID: 0}
+--- !u!114 &6582516066229308053
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  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: 11500000, guid: ab997e120f9c3184195588497850c91e, type: 3}
+  m_Name: Rect Transform Animation Track
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_AnimClip: {fileID: 0}
+  m_Locked: 0
+  m_Muted: 0
+  m_CustomPlayableFullTypename: 
+  m_Curves: {fileID: 0}
+  m_Parent: {fileID: 11400000}
+  m_Children: []
+  m_Clips:
+  - m_Version: 1
+    m_Start: 0
+    m_ClipIn: 0
+    m_Asset: {fileID: -6204559280289277337}
+    m_Duration: 0.4
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: 6582516066229308053}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: -1
+    m_BlendOutDuration: -1
+    m_MixInCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_MixOutCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_BlendInCurveMode: 0
+    m_BlendOutCurveMode: 0
+    m_ExposedParameterNames: []
+    m_AnimationCurves: {fileID: 0}
+    m_Recordable: 0
+    m_PostExtrapolationMode: 0
+    m_PreExtrapolationMode: 0
+    m_PostExtrapolationTime: 0
+    m_PreExtrapolationTime: 0
+    m_DisplayName: RectTransformAnimationClip
+  m_Markers:
+    m_Objects: []

+ 8 - 0
Assets/Res/UIPlayable/HeroAttUp.playable.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XXka4yOpAS0+0xkn0JM0umAY40V3AVjQe6Ty/s0h0WMybJ9cr3amwAc=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 4 - 4
Assets/Res/UIPlayable/HeroDetailPanelTimeline.playable

@@ -45,7 +45,7 @@ MonoBehaviour:
     _controlPosition: 0
     _controlPosition: 0
     _controlSize: 0
     _controlSize: 0
     _controlRotation: 0
     _controlRotation: 0
-    _controlScale: 1
+    _controlScale: 0
     _startValue:
     _startValue:
       _anchoredPosition: {x: 0, y: 0, z: 0}
       _anchoredPosition: {x: 0, y: 0, z: 0}
       _sizeDelta: {x: 0, y: 0}
       _sizeDelta: {x: 0, y: 0}
@@ -81,7 +81,7 @@ MonoBehaviour:
     m_Start: 0
     m_Start: 0
     m_ClipIn: 0
     m_ClipIn: 0
     m_Asset: {fileID: -2147174353164675019}
     m_Asset: {fileID: -2147174353164675019}
-    m_Duration: 0.4
+    m_Duration: 0.2
     m_TimeScale: 1
     m_TimeScale: 1
     m_ParentTrack: {fileID: -6019252560737163005}
     m_ParentTrack: {fileID: -6019252560737163005}
     m_EaseInDuration: 0
     m_EaseInDuration: 0
@@ -341,7 +341,7 @@ MonoBehaviour:
       _anchoredPosition: {x: 0, y: 0, z: 0}
       _anchoredPosition: {x: 0, y: 0, z: 0}
       _sizeDelta: {x: 0, y: 0}
       _sizeDelta: {x: 0, y: 0}
       _localRotation: {x: 0, y: 0, z: 0}
       _localRotation: {x: 0, y: 0, z: 0}
-      _localScale: {x: 1.1, y: 1.1, z: 1}
+      _localScale: {x: 1, y: 1, z: 1}
 --- !u!114 &11400000
 --- !u!114 &11400000
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0
@@ -406,7 +406,7 @@ MonoBehaviour:
     m_Start: 0
     m_Start: 0
     m_ClipIn: 0
     m_ClipIn: 0
     m_Asset: {fileID: -3517064595543215121}
     m_Asset: {fileID: -3517064595543215121}
-    m_Duration: 0.20000000000000007
+    m_Duration: 0.1
     m_TimeScale: 1
     m_TimeScale: 1
     m_ParentTrack: {fileID: 7089825263001972541}
     m_ParentTrack: {fileID: 7089825263001972541}
     m_EaseInDuration: 0
     m_EaseInDuration: 0

+ 171 - 0
Assets/Res/UIPlayable/HeroPowerUpPreTimeline.playable

@@ -0,0 +1,171 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!114 &-4762697777781276530
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  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: 11500000, guid: ab997e120f9c3184195588497850c91e, type: 3}
+  m_Name: Rect Transform Animation Track
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_AnimClip: {fileID: 0}
+  m_Locked: 0
+  m_Muted: 0
+  m_CustomPlayableFullTypename: 
+  m_Curves: {fileID: 0}
+  m_Parent: {fileID: 11400000}
+  m_Children: []
+  m_Clips:
+  - m_Version: 1
+    m_Start: 0
+    m_ClipIn: 0
+    m_Asset: {fileID: -3436615991131964082}
+    m_Duration: 0.2
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: -4762697777781276530}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: -1
+    m_BlendOutDuration: -1
+    m_MixInCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_MixOutCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_BlendInCurveMode: 0
+    m_BlendOutCurveMode: 0
+    m_ExposedParameterNames: []
+    m_AnimationCurves: {fileID: 0}
+    m_Recordable: 0
+    m_PostExtrapolationMode: 0
+    m_PreExtrapolationMode: 0
+    m_PostExtrapolationTime: 0
+    m_PreExtrapolationTime: 0
+    m_DisplayName: RectTransformAnimationClip
+  m_Markers:
+    m_Objects: []
+--- !u!114 &-3436615991131964082
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  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: 11500000, guid: 11aa0b29ff13eab449a39fa0f8c3c506, type: 3}
+  m_Name: RectTransformAnimationClip
+  m_EditorClassIdentifier: 
+  template:
+    _loopDuration: 0
+    _loopType: 0
+    _curve:
+      _curveType: 1
+      _easeType: 0
+      _animationCurve:
+        serializedVersion: 2
+        m_Curve:
+        - serializedVersion: 3
+          time: 0
+          value: 0
+          inSlope: 2
+          outSlope: 2
+          tangentMode: 0
+          weightedMode: 0
+          inWeight: 0
+          outWeight: 0
+        - serializedVersion: 3
+          time: 1
+          value: 1
+          inSlope: 0
+          outSlope: 0
+          tangentMode: 0
+          weightedMode: 0
+          inWeight: 0
+          outWeight: 0
+        m_PreInfinity: 2
+        m_PostInfinity: 2
+        m_RotationOrder: 4
+    _controlPosition: 1
+    _controlSize: 0
+    _controlRotation: 0
+    _controlScale: 0
+    _startValue:
+      _anchoredPosition: {x: 0, y: -300, z: 0}
+      _sizeDelta: {x: 0, y: 0}
+      _localRotation: {x: 0, y: 0, z: 0}
+      _localScale: {x: 0, y: 0, z: 0}
+    _endValue:
+      _anchoredPosition: {x: 0, y: 0, z: 0}
+      _sizeDelta: {x: 0, y: 0}
+      _localRotation: {x: 0, y: 0, z: 0}
+      _localScale: {x: 0, y: 0, z: 0}
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  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: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3}
+  m_Name: HeroPowerUpPreTimeline
+  m_EditorClassIdentifier: 
+  m_Version: 0
+  m_Tracks:
+  - {fileID: -4762697777781276530}
+  m_FixedDuration: 0
+  m_EditorSettings:
+    m_Framerate: 60
+    m_ScenePreview: 1
+  m_DurationMode: 0
+  m_MarkerTrack: {fileID: 0}

+ 8 - 0
Assets/Res/UIPlayable/HeroPowerUpPreTimeline.playable.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DSsasCqkV31eBxYIVb13TSD5O88lh79Ea8NiUgGdd8z8kqknX20X2UY=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 11400000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 43 - 0
Assets/Resources/MyShader_UIImageGray.mat

@@ -0,0 +1,43 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 8
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: MyShader_UIImageGray
+  m_Shader: {fileID: 4800000, guid: bd480dea67f139944b14ebd6f96e7e03, type: 3}
+  m_Parent: {fileID: 0}
+  m_ModifiedSerializedProperties: 0
+  m_ValidKeywords: []
+  m_InvalidKeywords: []
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_LockedProperties: 
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Ints: []
+    m_Floats:
+    - _ColorMask: 15
+    - _GreyValue: 0
+    - _Stencil: 0
+    - _StencilComp: 8
+    - _StencilOp: 0
+    - _StencilReadMask: 255
+    - _StencilWriteMask: 255
+    - _UseUIAlphaClip: 0
+    m_Colors:
+    - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
+    - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1}
+  m_BuildTextureStacks: []

+ 8 - 0
Assets/Resources/MyShader_UIImageGray.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DShNtC+kAHMyjwtgbgRaXT7R/33DLV6tmoTd5hLw18zD4MI7nAUTSxI=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 125 - 0
Assets/Resources/UIImageGray.shader

@@ -0,0 +1,125 @@
+Shader "MyShader/UIImageGray"
+{
+    //修改Unity官方内置shader,UI-Default
+    Properties
+    {
+        // [PerRendererData] 
+        _MainTex ("Sprite Texture", 2D) = "white" {}
+        _Color ("Tint", Color) = (1,1,1,1)
+
+        _StencilComp ("Stencil Comparison", Float) = 8
+        _Stencil ("Stencil ID", Float) = 0
+        _StencilOp ("Stencil Operation", Float) = 0
+        _StencilWriteMask ("Stencil Write Mask", Float) = 255
+        _StencilReadMask ("Stencil Read Mask", Float) = 255
+
+        _ColorMask ("Color Mask", Float) = 15
+     _ClipRect ("Clip Rect", Vector) = (-32767, -32767, 32767, 32767)
+        [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
+        _GreyValue("_GreyValue",range(0,1))=0
+    }
+
+    SubShader
+    {
+        Tags
+        {
+            "Queue"="Transparent"
+            "IgnoreProjector"="True"
+            "RenderType"="Transparent"
+            "PreviewType"="Plane"
+            "CanUseSpriteAtlas"="True"
+        }
+
+        Stencil
+        {
+            Ref [_Stencil]
+            Comp [_StencilComp]
+            Pass [_StencilOp]
+            ReadMask [_StencilReadMask]
+            WriteMask [_StencilWriteMask]
+        }
+
+        Cull Off
+        Lighting Off
+        ZWrite Off
+        ZTest [unity_GUIZTestMode]
+        Blend SrcAlpha OneMinusSrcAlpha
+        ColorMask [_ColorMask]
+
+        Pass
+        {
+            Name "Default"
+            CGPROGRAM
+            #pragma vertex vert
+            #pragma fragment frag
+            #pragma target 2.0
+
+            #include "UnityCG.cginc"
+            #include "UnityUI.cginc"
+
+            #pragma multi_compile __ UNITY_UI_CLIP_RECT
+            #pragma multi_compile __ UNITY_UI_ALPHACLIP
+
+            struct appdata_t
+            {
+                float4 vertex : POSITION;
+                float4 color : COLOR;
+                float2 texcoord : TEXCOORD0;
+                UNITY_VERTEX_INPUT_INSTANCE_ID
+            };
+
+            struct v2f
+            {
+                float4 vertex : SV_POSITION;
+                fixed4 color : COLOR;
+                float2 texcoord : TEXCOORD0;
+                float4 worldPosition : TEXCOORD1;
+                UNITY_VERTEX_OUTPUT_STEREO
+            };
+
+            sampler2D _MainTex;
+            fixed4 _Color;
+            fixed4 _TextureSampleAdd;
+            float4 _ClipRect;
+            float4 _MainTex_ST;
+            float _GreyValue;
+
+            v2f vert(appdata_t v)
+            {
+                v2f OUT;
+                UNITY_SETUP_INSTANCE_ID(v);
+                UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
+                OUT.worldPosition = v.vertex;
+                OUT.vertex = UnityObjectToClipPos(v.vertex);
+
+                OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
+
+                OUT.color = v.color * _Color;
+                return OUT;
+            }
+
+            fixed4 frag(v2f IN) : SV_Target
+            {
+                half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
+              
+                #ifdef UNITY_UI_CLIP_RECT
+
+                #endif
+
+                #ifdef UNITY_UI_ALPHACLIP
+                clip (color.a - 0.001);
+                #endif
+
+                half gray = dot(color.rgb, fixed3(0.299, 0.587, 0.114)); //0.222, 0.707, 0.071
+                float3 graycolor = fixed3(gray, gray, gray);
+                  color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
+                color.rgb = graycolor*  color.a ;
+                
+                //color.rgb=lerp(color.rgb,graycolor,_GreyValue);
+
+                return color;
+            }
+            ENDCG
+        }
+    }
+}

+ 9 - 0
Assets/Resources/UIImageGray.shader.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: XCwY4y6oUn7bH/fxh5oS1Qo4Wqw5kXu6iCKHA/hboTnLmcVPUeRHOc0=
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

文件差異過大導致無法顯示
+ 419 - 430
Assets/Scenes/UIBuild.scene


+ 35 - 6
Assets/Scripts/Core/UI/Core/UIManager.cs

@@ -39,6 +39,8 @@ namespace Fort23.Mono
     {
     {
         public static UIManager Instance { get; set; }
         public static UIManager Instance { get; set; }
 
 
+        public readonly Material uiGray = new Material(Shader.Find("MyShader/UIImageGray"));
+
         // public RectTransform UIRootTransform;
         // public RectTransform UIRootTransform;
         public Vector2 sizeDelta;
         public Vector2 sizeDelta;
 
 
@@ -190,6 +192,37 @@ namespace Fort23.Mono
             }
             }
         }
         }
 
 
+        public void SetGray(GameObject gameObject, bool isGray, bool isChildGray = false)
+        {
+            if (isChildGray)
+            {
+                Graphic[] graphics = gameObject.transform.GetComponentsInChildren<Graphic>();
+                for (int i = 0; i < graphics.Length; i++)
+                {
+                    if (isGray)
+                    {
+                        graphics[i].material = uiGray;
+                    }
+                    else
+                    {
+                        graphics[i].material = graphics[i].defaultMaterial;
+                    }
+                }
+            }
+            else
+            {
+                Graphic graphic = gameObject.GetComponent<Graphic>();
+                if (isGray)
+                {
+                    graphic.material = uiGray;
+                }
+                else
+                {
+                    graphic.material = graphic.defaultMaterial;
+                }
+            }
+        }
+
         public void SetEventSystemEnable(bool value)
         public void SetEventSystemEnable(bool value)
         {
         {
             // current.isClose = !value;
             // current.isClose = !value;
@@ -384,8 +417,7 @@ namespace Fort23.Mono
                             NoFocusTopUIPanels.Add(uiPanel);
                             NoFocusTopUIPanels.Add(uiPanel);
                         uiPanel.isActiveAnima = isActiveAnima;
                         uiPanel.isActiveAnima = isActiveAnima;
                         await uiPanel.Open();
                         await uiPanel.Open();
-
-
+                        
                         if (current != null)
                         if (current != null)
                         {
                         {
                             // current.isClose = false;
                             // current.isClose = false;
@@ -444,7 +476,6 @@ namespace Fort23.Mono
             bool isFull = false;
             bool isFull = false;
             if (allPanel != null)
             if (allPanel != null)
             {
             {
-                
                 for (int i = 0; i < allPanel.Length; i++)
                 for (int i = 0; i < allPanel.Length; i++)
                 {
                 {
                     UIPanel panel = allPanel[i];
                     UIPanel panel = allPanel[i];
@@ -477,7 +508,7 @@ namespace Fort23.Mono
                 }
                 }
 
 
                 currDeapthGraphic = min;
                 currDeapthGraphic = min;
-              
+
                 for (int i = 0; i < allPanel.Length; i++)
                 for (int i = 0; i < allPanel.Length; i++)
                 {
                 {
                     UIPanel panel = allPanel[i];
                     UIPanel panel = allPanel[i];
@@ -491,8 +522,6 @@ namespace Fort23.Mono
             }
             }
 
 
 
 
-     
-
             RefreshFullEventData refreshFullEventData = RefreshFullEventData.Create();
             RefreshFullEventData refreshFullEventData = RefreshFullEventData.Create();
             refreshFullEventData.isFullShow = isFull;
             refreshFullEventData.isFullShow = isFull;
             EventManager.Instance.Dispatch(CustomEventType.RefreshFull, refreshFullEventData);
             EventManager.Instance.Dispatch(CustomEventType.RefreshFull, refreshFullEventData);

+ 12 - 0
Assets/Scripts/Core/UI/UTool/Enum.cs

@@ -39,6 +39,18 @@
         /// 主力等级不足
         /// 主力等级不足
         /// </summary>
         /// </summary>
         MainLevelNotEnough,
         MainLevelNotEnough,
+        /// <summary>
+        /// 需要打开预览面板后再提升
+        /// </summary>
+        NeedOpenPreUI,
+        /// <summary>
+        /// 播放升级特效
+        /// </summary>
+        PlayUpgradeEftFirst,
+        /// <summary>
+        /// 播放升星特效
+        /// </summary>
+        PlayPromoteEftFirst,
     }
     }
     
     
     /// <summary>
     /// <summary>

+ 39 - 5
Assets/Scripts/Core/UI/UTool/MyImage.cs

@@ -2,6 +2,7 @@ using System;
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Text;
 using System.Text;
+using Fort23.Mono;
 using Fort23.UTool;
 using Fort23.UTool;
 using UnityEngine.Experimental.Rendering;
 using UnityEngine.Experimental.Rendering;
 using UnityEngine.Serialization;
 using UnityEngine.Serialization;
@@ -43,7 +44,7 @@ namespace UnityEngine.UI
         private UILoadSpriteHand _uiLoadSpriteHand;
         private UILoadSpriteHand _uiLoadSpriteHand;
 
 
         public System.Action onSpriteAlter;
         public System.Action onSpriteAlter;
-        
+
         protected override void Awake()
         protected override void Awake()
         {
         {
             if (Application.isPlaying && isNotLoadDeftIcon)
             if (Application.isPlaying && isNotLoadDeftIcon)
@@ -56,6 +57,7 @@ namespace UnityEngine.UI
                 icon_name = _icon_name;
                 icon_name = _icon_name;
             }
             }
         }
         }
+
         protected override void OnDestroy()
         protected override void OnDestroy()
         {
         {
             if (_uiLoadSpriteHand != null)
             if (_uiLoadSpriteHand != null)
@@ -63,8 +65,10 @@ namespace UnityEngine.UI
                 _uiLoadSpriteHand.ReleaseUI();
                 _uiLoadSpriteHand.ReleaseUI();
                 _uiLoadSpriteHand = null;
                 _uiLoadSpriteHand = null;
             }
             }
+
             base.OnDestroy();
             base.OnDestroy();
         }
         }
+
         public void ReashUI()
         public void ReashUI()
         {
         {
             if (CurrSpriteAtlas != null && !string.IsNullOrEmpty(_icon_name))
             if (CurrSpriteAtlas != null && !string.IsNullOrEmpty(_icon_name))
@@ -108,13 +112,12 @@ namespace UnityEngine.UI
                         else
                         else
                         {
                         {
                             SetSprite(loadSprite);
                             SetSprite(loadSprite);
-                            
                         }
                         }
                     }
                     }
                 }
                 }
                 else
                 else
                 {
                 {
-                    SetSprite( loadSprite);
+                    SetSprite(loadSprite);
                 }
                 }
             }
             }
             else if (!string.IsNullOrEmpty(_icon_name) && sprite == null)
             else if (!string.IsNullOrEmpty(_icon_name) && sprite == null)
@@ -137,7 +140,7 @@ namespace UnityEngine.UI
                         }
                         }
                         else
                         else
                         {
                         {
-                            SetSprite( sprite1.GetSprite());
+                            SetSprite(sprite1.GetSprite());
                         }
                         }
                     });
                     });
                 }
                 }
@@ -172,7 +175,7 @@ namespace UnityEngine.UI
                         _uiLoadSpriteHand = sprite1;
                         _uiLoadSpriteHand = sprite1;
                         if (sprite1 == null)
                         if (sprite1 == null)
                         {
                         {
-                            SetSprite( null);
+                            SetSprite(null);
                         }
                         }
                         else
                         else
                         {
                         {
@@ -192,10 +195,41 @@ namespace UnityEngine.UI
             }
             }
         }
         }
 
 
+        /// <summary>
+        /// 是否置灰
+        /// </summary>
+        public bool IsGray
+        {
+            get { return _isGray; }
+            set
+            {
+                if (!_isGray.Equals(value))
+                {
+                    _isGray = value;
+                    if (_isGray)
+                    {
+                        base.material = UIManager.Instance.uiGray;
+                    }
+                    else
+                    {
+                        if (base.material != null)
+                        {
+                            base.material = null;
+                        }
+
+                        base.material = defaultMaterial;
+                    }
+                }
+            }
+        }
+
+        private bool _isGray;
+
         public override void GraphicUpdateComplete()
         public override void GraphicUpdateComplete()
         {
         {
             SetPack();
             SetPack();
         }
         }
+
         private void SetPack()
         private void SetPack()
         {
         {
 #if UNITY_EDITOR
 #if UNITY_EDITOR

+ 7 - 13
Assets/Scripts/Core/UI/UTool/UtilTools.cs

@@ -13,7 +13,6 @@ using System.Runtime.Serialization.Formatters.Binary;
 using UnityEngine.Profiling;
 using UnityEngine.Profiling;
 #endif
 #endif
 using System.Security.Cryptography;
 using System.Security.Cryptography;
-
 using Fort23.UTool;
 using Fort23.UTool;
 
 
 namespace Utility
 namespace Utility
@@ -21,14 +20,13 @@ namespace Utility
     public static class UtilTools
     public static class UtilTools
     {
     {
 #if !COMBAT_SERVER
 #if !COMBAT_SERVER
-
-
         public static List<GameObject> allDontDestroyOnLoad = new List<GameObject>();
         public static List<GameObject> allDontDestroyOnLoad = new List<GameObject>();
 #endif
 #endif
         private static int m_seed = 0;
         private static int m_seed = 0;
 
 
         private static StringBuilder sb;
         private static StringBuilder sb;
 
 
+   
 
 
         public static long oneDay = 86400000;
         public static long oneDay = 86400000;
 
 
@@ -123,7 +121,7 @@ namespace Utility
         //
         //
         //     return a;
         //     return a;
         // }
         // }
-        
+
         /// <summary>
         /// <summary>
         /// 获取描述文本
         /// 获取描述文本
         /// </summary>
         /// </summary>
@@ -670,8 +668,8 @@ namespace Utility
                 }
                 }
             }
             }
         }
         }
-        
-        
+
+
         /// <summary>
         /// <summary>
         /// 时间(秒)转换位小时分钟秒
         /// 时间(秒)转换位小时分钟秒
         /// </summary>
         /// </summary>
@@ -693,10 +691,11 @@ namespace Utility
             {
             {
                 return $"{xiaoShi}小时";
                 return $"{xiaoShi}小时";
             }
             }
-            else if (tian >= 1 )
+            else if (tian >= 1)
             {
             {
                 return $"{tian}天";
                 return $"{tian}天";
             }
             }
+
             return "";
             return "";
         }
         }
 
 
@@ -843,11 +842,7 @@ namespace Utility
             return (long)timeSpan.TotalSeconds;
             return (long)timeSpan.TotalSeconds;
         }
         }
 
 
-       
-        
-      
-      
-        
+
         public static T DeepCopy<T>(T obj)
         public static T DeepCopy<T>(T obj)
         {
         {
             using (var memoryStream = new MemoryStream())
             using (var memoryStream = new MemoryStream())
@@ -858,7 +853,6 @@ namespace Utility
                 return (T)formatter.Deserialize(memoryStream);
                 return (T)formatter.Deserialize(memoryStream);
             }
             }
         }
         }
-     
     }
     }
 
 
 
 

+ 4 - 2
Assets/Scripts/Core/Utility/GlobalParam.cs

@@ -35,7 +35,7 @@ namespace Core.Utility
         /// </summary>
         /// </summary>
         public static int Hero_Promote_UI_BG_Only_Star_Height = 283;
         public static int Hero_Promote_UI_BG_Only_Star_Height = 283;
         /// <summary>
         /// <summary>
-        /// 升星&解锁技能时,背景高度
+        /// 升星解锁技能时,背景高度
         /// </summary>
         /// </summary>
         public static int Hero_Promote_UI_BG_Unlock_Skill_Height = 420;
         public static int Hero_Promote_UI_BG_Unlock_Skill_Height = 420;
         /// <summary>
         /// <summary>
@@ -43,9 +43,11 @@ namespace Core.Utility
         /// </summary>
         /// </summary>
         public static int Hero_Promote_UI_BG_Star_Pos_1 = 0;
         public static int Hero_Promote_UI_BG_Star_Pos_1 = 0;
         /// <summary>
         /// <summary>
-        /// 升星&解锁技能时,星星y的位置
+        /// 升星解锁技能时,星星y的位置
         /// </summary>
         /// </summary>
         public static int Hero_Promote_UI_BG_Star_Pos_2 = 150;
         public static int Hero_Promote_UI_BG_Star_Pos_2 = 150;
+        
+        // public static int Hero_Upgrade_UI_ = 150;
 
 
 
 
         // /// <summary>
         // /// <summary>

+ 2 - 2
Assets/Scripts/GameData/ExcelConfig/SkillUpConfig.cs

@@ -39,9 +39,9 @@ public int idx;
 
 
 
 
 		/// <summary>
 		/// <summary>
-		///对应HeroModel表的下标和等级 0;1 表示1位置的1级 1;1 表示2位置的1级 1;2 表示3位置的2级
+		///对应HeroModel表的下标的等级 
 		/// </summary>
 		/// </summary>
-public int[] skillParam;
+public int skillLv;
 
 
 
 
 	}
 	}

+ 1 - 3
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroTimeLineControl.cs

@@ -54,9 +54,7 @@ namespace GameLogic.Combat.Hero
                 bool isEnd = timeLineEventLogicGroupBasic.Update(deltaTime);
                 bool isEnd = timeLineEventLogicGroupBasic.Update(deltaTime);
                 if (isEnd)
                 if (isEnd)
                 {
                 {
-                   
-                    _currRunEventLogicGroupList.RemoveAt(i);
-                    i--;
+                    _currRunEventLogicGroupList.Remove(timeLineEventLogicGroupBasic);
                     CObjectPool.Instance.Recycle(timeLineEventLogicGroupBasic);
                     CObjectPool.Instance.Recycle(timeLineEventLogicGroupBasic);
                 }
                 }
             }
             }

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -472,7 +472,7 @@ namespace GameLogic.Combat.Skill
         public void TimeLineTrigger(string groupName, ILifetCycleHitPoint targetEntity,
         public void TimeLineTrigger(string groupName, ILifetCycleHitPoint targetEntity,
             ITimelineFxLogic timelineFxLogic, TriggerData triggerData)
             ITimelineFxLogic timelineFxLogic, TriggerData triggerData)
         {
         {
-            if (targetEntity == null)
+            if (targetEntity == null|| _isDis)
             {
             {
                 return;
                 return;
             }
             }

+ 66 - 18
Assets/Scripts/GameLogic/Hero/HeroController.cs

@@ -55,7 +55,7 @@ namespace GameLogic.Hero
             m_MainLevel = tmpLv;
             m_MainLevel = tmpLv;
         }
         }
 
 
-        public HeroUpResultType CanUpgrade(HeroInfo heroInfo)
+        public HeroUpResultType CanUpgrade(HeroInfo heroInfo, bool isOpenPre = false)
         {
         {
             if (PlayerManager.Instance.gameConstantConfig.maxLv <= heroInfo.level.Value)
             if (PlayerManager.Instance.gameConstantConfig.maxLv <= heroInfo.level.Value)
             {
             {
@@ -64,14 +64,24 @@ namespace GameLogic.Hero
             }
             }
             
             
             //计算主力英雄等级差, 如果再升一级,就大于最大等级差了,就不允许升了.
             //计算主力英雄等级差, 如果再升一级,就大于最大等级差了,就不允许升了.
-            if ((heroInfo.level.Value) - m_MainLevel >= GlobalParam.Max_Main_Level_Difference)
+            if (heroInfo.level.Value - m_MainLevel >= GlobalParam.Max_Main_Level_Difference)
             {
             {
                 LogTool.Log(heroInfo.modelID + "主力英雄等级差不能超过:" + GlobalParam.Max_Main_Level_Difference);
                 LogTool.Log(heroInfo.modelID + "主力英雄等级差不能超过:" + GlobalParam.Max_Main_Level_Difference);
                 return HeroUpResultType.MainLevelNotEnough;
                 return HeroUpResultType.MainLevelNotEnough;
             }
             }
+
+            //每10级,要打开预览界面后,再升级(如果已经打开,就不判断了)
+            if (!isOpenPre && (heroInfo.level.Value + 1) % 10 == 1)
+            {
+                return HeroUpResultType.NeedOpenPreUI;
+            }
             
             
             if (BagController.Instance.IsEnough(GlobalParam.Item_HeroExp_ID, heroInfo.powerUpConfig.levelUpExp))
             if (BagController.Instance.IsEnough(GlobalParam.Item_HeroExp_ID, heroInfo.powerUpConfig.levelUpExp))
             {
             {
+                if (isOpenPre)
+                {
+                    return HeroUpResultType.PlayUpgradeEftFirst;
+                }
                 return HeroUpResultType.Success;
                 return HeroUpResultType.Success;
             }
             }
             else
             else
@@ -80,26 +90,45 @@ namespace GameLogic.Hero
             }
             }
         }
         }
 
 
+        private void DoUpgrade(HeroInfo heroInfo)
+        {
+            heroInfo.Upgrade();
+            PlayerManager.Instance.SaveHeroData(heroInfo);
+            //如果当前英雄等级等于主力等级,则升级时需要重新计算主力等级
+            if (heroInfo.level.Value - 1 == m_MainLevel)
+            {
+                CalMainLevel();
+            }
+            SendEvent(HeroUpType.Level, heroInfo, HeroUpResultType.Success);
+        }
+
         /// <summary>
         /// <summary>
         /// 英雄升级逻辑,主要是改数据,不在这里做UI表现
         /// 英雄升级逻辑,主要是改数据,不在这里做UI表现
         /// </summary>
         /// </summary>
         /// <param name="heroInfo"></param>
         /// <param name="heroInfo"></param>
-        public HeroUpResultType UpgradeHeroLogic(HeroInfo heroInfo)
+        public HeroUpResultType UpgradeHeroLogic(HeroInfo heroInfo, bool isOpenPre = false)
         {
         {
-            HeroUpResultType resultType = CanUpgrade(heroInfo);
-            if (resultType == HeroUpResultType.Success && 
-                BagController.Instance.DuctHeroExp(heroInfo.powerUpConfig.levelUpExp))
+            HeroUpResultType resultType = CanUpgrade(heroInfo, isOpenPre);
+            if (resultType == HeroUpResultType.Success || resultType == HeroUpResultType.PlayUpgradeEftFirst)
             {
             {
-                heroInfo.Upgrade();
-                
-                //如果当前英雄等级等于主力等级,则升级时需要重新计算主力等级
-                if (heroInfo.level.Value - 1 == m_MainLevel)
+                //扣除经验
+                bool isOk = BagController.Instance.DuctHeroExp(heroInfo.powerUpConfig.levelUpExp);
+
+                if (isOk )
                 {
                 {
-                    CalMainLevel();
+                    if (resultType == HeroUpResultType.Success)
+                    {
+                        DoUpgrade(heroInfo);
+                    }
+                    else if (resultType == HeroUpResultType.PlayUpgradeEftFirst)
+                    {
+                        //执行逻辑,返回播放特效的类型
+                        DoUpgrade(heroInfo);
+                        return resultType;
+                    }
+
+                    return HeroUpResultType.Success;
                 }
                 }
-                
-                SendEvent(HeroUpType.Level, heroInfo, HeroUpResultType.Success);
-                return HeroUpResultType.Success;
             }
             }
             return resultType;
             return resultType;
         }
         }
@@ -120,7 +149,7 @@ namespace GameLogic.Hero
             if (upType == HeroUpType.Level)
             if (upType == HeroUpType.Level)
             {
             {
                 SkillUpConfig upConfig = PlayerManager.Instance.heroController
                 SkillUpConfig upConfig = PlayerManager.Instance.heroController
-                    .IsLevelUpGetNewSkill(heroInfo.level.Value);
+                    .GetSkillUpConfig4Lv(heroInfo.level.Value);
                 
                 
                 
                 
                 if (upConfig.ID > 0)
                 if (upConfig.ID > 0)
@@ -376,11 +405,11 @@ namespace GameLogic.Hero
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// 判断【等级】是否可以解锁新技能
+        /// 根据【等级】查找是否有技能
         /// </summary>
         /// </summary>
-        /// <param name="level"></param>
+        /// <param name="level">英雄等级</param>
         /// <returns></returns>
         /// <returns></returns>
-        public SkillUpConfig IsLevelUpGetNewSkill(int level)
+        public SkillUpConfig GetSkillUpConfig4Lv(int level)
         {
         {
             SkillUpConfig upConfig = new SkillUpConfig();
             SkillUpConfig upConfig = new SkillUpConfig();
             foreach (SkillUpConfig skillUpConfig in PlayerManager.Instance.skillUpConfigs)
             foreach (SkillUpConfig skillUpConfig in PlayerManager.Instance.skillUpConfigs)
@@ -393,6 +422,25 @@ namespace GameLogic.Hero
             return upConfig;
             return upConfig;
         }
         }
         
         
+        
+        /// <summary>
+        /// 根据【星级】查找是否有技能
+        /// </summary>
+        /// <param name="level">英雄等级</param>
+        /// <returns></returns>
+        public SkillUpConfig GetSkillUpConfig4Star(int star)
+        {
+            SkillUpConfig upConfig = new SkillUpConfig();
+            foreach (SkillUpConfig skillUpConfig in PlayerManager.Instance.skillUpConfigs)
+            {
+                if (skillUpConfig.upType == 2 && star == skillUpConfig.upValue)
+                {
+                    return skillUpConfig;
+                }
+            }
+            return upConfig;
+        }
+        
         /// <summary>
         /// <summary>
         /// 判断【星级】是否可以解锁新技能
         /// 判断【星级】是否可以解锁新技能
         /// </summary>
         /// </summary>

+ 12 - 4
Assets/Scripts/GameLogic/Hero/HeroInfo.cs

@@ -58,14 +58,23 @@ namespace GameLogic.Hero
             SkillData.InitSkills();
             SkillData.InitSkills();
         }
         }
 
 
+        public void InitHero(int modelID, int powerID, int promoteID)
+        {
+            this.modelID = modelID;
+            SetDataConfig(modelID, 
+                powerID, 
+                promoteID);
+            CalFactor();
+            CalAttribute();
+            SkillData = new SkillData(this);
+            SkillData.InitSkills();
+        }
         public HeroInfo Upgrade()
         public HeroInfo Upgrade()
         {
         {
             level.Value++;
             level.Value++;
             powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
             powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
             CalFactor();
             CalFactor();
             CalBasicAttribute();
             CalBasicAttribute();
-            PlayerManager.Instance.SaveHeroData(this);
-
             return this;
             return this;
         }
         }
 
 
@@ -75,8 +84,7 @@ namespace GameLogic.Hero
             promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star.Value);
             promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star.Value);
             CalFactor();
             CalFactor();
             CalBasicAttribute();
             CalBasicAttribute();
-            PlayerManager.Instance.SaveHeroData(this);
-            
+
             return this;
             return this;
         }
         }
 
 

+ 23 - 0
Assets/Scripts/GameLogic/Hero/SkillData.cs

@@ -60,6 +60,29 @@ namespace GameLogic.Hero
             return skillInfo;
             return skillInfo;
         }
         }
 
 
+        /// <summary>
+        /// 获取SkillConfig
+        /// </summary>
+        /// <param name="upSkillID">技能解锁表的ID</param>
+        /// <returns></returns>
+        public SkillConfig GetSkillConfig(int upSkillID)
+        {
+            // SkillConfig config = new SkillConfig();
+            foreach (KeyValuePair<int,List<SkillInfo>> keyValuePair in mySkillDic)
+            {
+                foreach (SkillInfo skillInfo in keyValuePair.Value)
+                {
+                    // skillInfo.UpdateInfo();
+                    if (skillInfo.upConfig.ID == upSkillID)
+                    {
+                        return skillInfo.skillConfig;
+                    }
+                }
+            }
+
+            return new SkillConfig();;
+        }
+
         // public void Init(HeroInfo heroInfo)
         // public void Init(HeroInfo heroInfo)
         // {
         // {
         //     this.heroInfo = heroInfo;
         //     this.heroInfo = heroInfo;

+ 4 - 1
Assets/Scripts/GameLogic/Hero/SkillInfo.cs

@@ -13,7 +13,7 @@ namespace GameLogic.Hero
         /// </summary>
         /// </summary>
         public bool isUnLock;
         public bool isUnLock;
 
 
-        // public SkillUpConfig skillUpConfig;
+        public SkillUpConfig upConfig;
 
 
         // private SkillData _skillData;
         // private SkillData _skillData;
 
 
@@ -30,6 +30,9 @@ namespace GameLogic.Hero
             
             
             isUnLock = PlayerManager.Instance.heroController.IsUnLockSkill(heroInfo.level.Value, heroInfo.star.Value, skillConfig.ID);
             isUnLock = PlayerManager.Instance.heroController.IsUnLockSkill(heroInfo.level.Value, heroInfo.star.Value, skillConfig.ID);
             
             
+            int skillUpID = skillConfig.ID % 100;
+            upConfig = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID);
+            
             // isUnLock = false;
             // isUnLock = false;
             // if (skillConfig.ID == GlobalParam.Normal_Attack_Skill_Group_ID)
             // if (skillConfig.ID == GlobalParam.Normal_Attack_Skill_Group_ID)
             // {
             // {

+ 188 - 17
Assets/Scripts/GameUI/UI/Hero/HeroDetailPanel.cs

@@ -48,7 +48,7 @@ namespace Fort23.Mono
         }
         }
 
 
 
 
-        private void OnClickPromote()
+        private async void OnClickPromote()
         {
         {
             if (PlayerManager.Instance.gameConstantConfig.maxStar <= heroInfo.star.Value)
             if (PlayerManager.Instance.gameConstantConfig.maxStar <= heroInfo.star.Value)
             {
             {
@@ -56,25 +56,53 @@ namespace Fort23.Mono
                 return;
                 return;
             }
             }
             
             
+            upPre = await UIManager.Instance.CreateGComponentForObject<HeroPowerUpPre>(objHeroPowerUpPre,
+                delegate(HeroPowerUpPre pre)
+                {
+                    EnterPowerUpPre(2);
+                    pre.OpenPromotePre(heroInfo);
+                }, root: rtBottom);
+            
             // heroInfo.modelConfig.itemID
             // heroInfo.modelConfig.itemID
 
 
             if (BagController.Instance.DeductItem(heroInfo.modelConfig.itemID, heroInfo.promoteConfig.costCount))
             if (BagController.Instance.DeductItem(heroInfo.modelConfig.itemID, heroInfo.promoteConfig.costCount))
             {
             {
                 heroInfo.Promote();
                 heroInfo.Promote();
+                PlayerManager.Instance.SaveHeroData(heroInfo);
                 UpdateAttributeUI();
                 UpdateAttributeUI();
                 HeroUITools.SetStarShow(stars, heroInfo.star.Value);
                 HeroUITools.SetStarShow(stars, heroInfo.star.Value);
                 SendEvent(HeroUpType.Promote);
                 SendEvent(HeroUpType.Promote);
             }
             }
-            
         }
         }
-        
-        private void OnClickUpgrade()
+
+        /// <summary>
+        /// 是否打开了升级/升星的预览界面
+        /// </summary>
+        public bool isOpenPre;
+
+        private byte curPreTyp;
+        private async void OnClickUpgrade()
         {
         {
-            HeroUpResultType resultType = PlayerManager.Instance.heroController.UpgradeHeroLogic(heroInfo);
+            HeroUpResultType resultType = PlayerManager.Instance.heroController.UpgradeHeroLogic(heroInfo, isOpenPre);
 
 
             if (resultType == HeroUpResultType.Success)
             if (resultType == HeroUpResultType.Success)
             {
             {
-               UpdateAttributeUI();    
+                UpdateAttributeUI();
+            }
+            else if (resultType == HeroUpResultType.PlayUpgradeEftFirst)
+            {
+                //TODO 要播放特效.
+                ExitPowerUpPre(1);
+                UpdateAttributeUI();
+            }
+            else if(resultType == HeroUpResultType.NeedOpenPreUI)
+            {
+                upPre = await UIManager.Instance.CreateGComponentForObject<HeroPowerUpPre>(objHeroPowerUpPre,
+                    delegate(HeroPowerUpPre pre)
+                    {
+                        EnterPowerUpPre(1);
+                        pre.OpenUpgradePre(heroInfo);
+                    }, root: rtBottom);
             }
             }
             
             
             // if (PlayerManager.Instance.gameConstantConfig.maxLv <= heroInfo.level.Value)
             // if (PlayerManager.Instance.gameConstantConfig.maxLv <= heroInfo.level.Value)
@@ -89,6 +117,73 @@ namespace Fort23.Mono
             //     SendEvent(HeroUpType.Level);
             //     SendEvent(HeroUpType.Level);
             // }
             // }
         }
         }
+        
+        
+        /// <summary>
+        /// 进入 升级/升星预览界面
+        /// </summary>
+        /// <param name="preTyp">1升级;2 升星</param>
+        private void EnterPowerUpPre(byte preTyp)
+        {
+            isOpenPre = true;
+            curPreTyp = preTyp;
+            btns1.SetActive(false);
+            if (preTyp == 1)
+            {
+                btnPromote.gameObject.SetActive(false);
+                RectTransform rt = btnUpgrade.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(510, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(47, rt.localPosition.y, rt.localPosition.z);
+            }
+            else
+            {
+                btnUpgrade.gameObject.SetActive(false);
+                RectTransform rt = btnPromote.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(510, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(47, rt.localPosition.y, rt.localPosition.z);
+
+                if (costHeroCount > curHeroCount)
+                {
+                    btnPromote.GetComponent<MyImage>().icon_name = "btn_l_Gray";
+                    
+                }
+                else
+                {
+                    btnPromote.GetComponent<MyImage>().icon_name = "btn_l_Green";
+                }
+                
+            }
+        }
+
+        
+        /// <summary>
+        /// 离开 升级/升星预览界面
+        /// </summary>
+        /// <param name="preTyp">1升级;2 升星</param>
+        private void ExitPowerUpPre(byte preTyp)
+        {
+            isOpenPre = false;
+            btns1.SetActive(true);
+
+            if (preTyp == 1)
+            {
+                btnPromote.gameObject.SetActive(true);
+                RectTransform rt = btnUpgrade.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(400, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(163f, rt.localPosition.y, rt.localPosition.z);
+            }
+            else
+            {
+                btnUpgrade.gameObject.SetActive(true);
+                RectTransform rt = btnPromote.GetComponent<RectTransform>();
+                rt.sizeDelta = new Vector2(180, rt.sizeDelta.y);
+                rt.localPosition = new Vector3(-135f, rt.localPosition.y, rt.localPosition.z);
+                
+                btnPromote.GetComponent<MyImage>().icon_name = "btn_l_Green";
+            }
+            
+            objHeroPowerUpPre.SetActive(false);
+        }
 
 
         /// <summary>
         /// <summary>
         /// 发送英雄提升的事件
         /// 发送英雄提升的事件
@@ -115,14 +210,28 @@ namespace Fort23.Mono
         
         
         private void OnClickClose()
         private void OnClickClose()
         {
         {
-            UIManager.Instance.HideUIUIPanel(this);
-            GObjectPool.Instance.Recycle(modelObj);
+            if (isOpenPre)
+            {
+                ExitPowerUpPre(curPreTyp);
+            }
+            else
+            {
+                UIManager.Instance.HideUIUIPanel(this);
+                GObjectPool.Instance.Recycle(modelObj);
+            }
+            
+           
         }
         }
 
 
         private GameObjectPool modelObj;
         private GameObjectPool modelObj;
+        HeroPowerUpPre upPre;
         public async void InitHeroDetailPanel(HeroInfo heroInfo)
         public async void InitHeroDetailPanel(HeroInfo heroInfo)
         {
         {
             this.heroInfo = heroInfo;
             this.heroInfo = heroInfo;
+            
+            btns1.SetActive(true);
+            objHeroPowerUpPre.SetActive(false);
+
             iconZhiYe.icon_name = heroInfo.iconZhiYe;
             iconZhiYe.icon_name = heroInfo.iconZhiYe;
             heroName.text = LanguageManager.Instance.Text(heroInfo.modelConfig.name);
             heroName.text = LanguageManager.Instance.Text(heroInfo.modelConfig.name);
             HeroUITools.SetStarShow(stars, heroInfo.star.Value);
             HeroUITools.SetStarShow(stars, heroInfo.star.Value);
@@ -175,15 +284,58 @@ namespace Fort23.Mono
                     break;
                     break;
             }
             }
 
 
-            UpdateAttributeUI();
+            UpdateAttributeUI(true);
         }
         }
 
 
-        public void UpdateAttributeUI()
+        private long curHeroCount;
+        private long costHeroCount;
+        public async void UpdateAttributeUI(bool isInit = false)
         {
         {
-            txtHP.text = heroInfo.hp.Value.ToStringEx();
-            txtATK.text = heroInfo.attack.Value.ToStringEx();
-            txtDEF.text = heroInfo.defense.Value.ToStringEx();
-            txtSHANBI.text = heroInfo.shanbi.Value.ToStringEx();
+            if (txtHP.text != heroInfo.hp.Value.ToStringEx())
+            {
+                long old = long.Parse(txtHP.text);
+                txtHP.text = heroInfo.hp.Value.ToStringEx();
+                if(!isInit)
+                    await UIManager.Instance.CreateGComponent<HeroUpTxtEft>(delegate(HeroUpTxtEft heroUpTxtEft)
+                        {
+                            heroUpTxtEft.txtEft.text = "+" + (heroInfo.hp.Value - old).ToStringEx();
+                        }, 
+                        poolName: "HeroUpTxtEft", root: eftNumPos[0] as RectTransform);
+            }
+
+            if (txtATK.text != heroInfo.attack.Value.ToStringEx())
+            {
+                long old = long.Parse(txtATK.text);
+                txtATK.text = heroInfo.attack.Value.ToStringEx();
+                if(!isInit)
+                    await UIManager.Instance.CreateGComponent<HeroUpTxtEft>(delegate(HeroUpTxtEft heroUpTxtEft)
+                        {
+                            heroUpTxtEft.txtEft.text = "+" + (heroInfo.attack.Value - old).ToStringEx();
+                        },
+                        poolName: "HeroUpTxtEft", root: eftNumPos[1] as RectTransform);
+            }
+
+            if (txtDEF.text != heroInfo.defense.Value.ToStringEx())
+            {
+                long old = long.Parse(txtDEF.text);
+                txtDEF.text = heroInfo.defense.Value.ToStringEx();
+                if(!isInit)
+                    await UIManager.Instance.CreateGComponent<HeroUpTxtEft>(delegate(HeroUpTxtEft heroUpTxtEft)
+                        {
+                            heroUpTxtEft.txtEft.text = "+" + (heroInfo.defense.Value - old).ToStringEx();
+                        },
+                        poolName: "HeroUpTxtEft", root: eftNumPos[2] as RectTransform);
+            }
+
+            if (txtSHANBI.text != heroInfo.shanbi.Value.ToStringEx())
+            {
+                txtSHANBI.text = heroInfo.shanbi.Value.ToStringEx();
+                if(!isInit)
+                    await UIManager.Instance.CreateGComponent<HeroUpTxtEft>(null,
+                        poolName: "HeroUpTxtEft", root: eftNumPos[3] as RectTransform);
+            }
+            
+            
             txtLv.text = heroInfo.level.Value.ToStringEx();
             txtLv.text = heroInfo.level.Value.ToStringEx();
             txtExpGain.text = heroInfo.expGain.Value.ToStringEx();
             txtExpGain.text = heroInfo.expGain.Value.ToStringEx();
 
 
@@ -197,18 +349,21 @@ namespace Fort23.Mono
             {
             {
                 redColorStar = "<color=#FF4C4C>";
                 redColorStar = "<color=#FF4C4C>";
                 redColorEnd = "</color>";
                 redColorEnd = "</color>";
+                
+                btnUpgrade.GetComponent<MyImage>().icon_name = "btn_l_Gray";
             }
             }
             else
             else
             {
             {
                 redColorStar = "";
                 redColorStar = "";
                 redColorEnd = "";
                 redColorEnd = "";
+                btnUpgrade.GetComponent<MyImage>().icon_name = "btn_l_Green";
             }
             }
 
 
-            txtUpgrade.text = redColorStar + curExp + redColorEnd + "/" + costExp;
+            txtUpgrade.text = redColorStar + curExp.ToStringEx() + redColorEnd + "/" + costExp.ToStringEx();
             
             
             
             
-            long curHeroCount = BagController.Instance.GetItemInfo(heroInfo.modelConfig.itemID).count.Value;
-            long costHeroCount = heroInfo.promoteConfig.costCount;
+            curHeroCount = BagController.Instance.GetItemInfo(heroInfo.modelConfig.itemID).count.Value;
+            costHeroCount = heroInfo.promoteConfig.costCount;
             
             
             if (costHeroCount > curHeroCount)
             if (costHeroCount > curHeroCount)
             {
             {
@@ -222,6 +377,22 @@ namespace Fort23.Mono
             }
             }
             
             
             txtPromote.text = redColorStar + curHeroCount + redColorEnd + "/" + costHeroCount;
             txtPromote.text = redColorStar + curHeroCount + redColorEnd + "/" + costHeroCount;
+
+            // LogTool.Log(PlayerManager.Instance.heroController.CanUpgrade(heroInfo));
+            // LogTool.Log(go1.activeSelf);
+            if (PlayerManager.Instance.heroController.CanUpgrade(heroInfo) == HeroUpResultType.MainLevelNotEnough)
+            {
+                go1.SetActive(false);
+                txtUpLimit.gameObject.SetActive(true);
+                txtUpLimit.text = LanguageManager.Instance.Text(63);
+                btnUpgrade.GetComponent<MyImage>().icon_name = "btn_l_Gray";
+            }
+            else
+            {
+                go1.SetActive(true);
+                txtUpLimit.gameObject.SetActive(false);
+                // btnUpgrade.GetComponent<MyImage>().icon_name = "btn_l_Green";
+            }
         }
         }
 
 
     }
     }

+ 66 - 0
Assets/Scripts/GameUI/UI/Hero/HeroDetailPanelData.cs

@@ -252,6 +252,72 @@ namespace Fort23.Mono
 	      return _btnSkill;
 	      return _btnSkill;
 	     }
 	     }
 	   }
 	   }
+	  private GameObject _objHeroPowerUpPre;
+	  public GameObject objHeroPowerUpPre
+	   {
+	   get{
+	      if (_objHeroPowerUpPre == null)
+	       {
+	         _objHeroPowerUpPre  = GetUIUnit<GameObject>("objHeroPowerUpPre"); 
+	       }
+	      return _objHeroPowerUpPre;
+	     }
+	   }
+	  private GameObject _btns1;
+	  public GameObject btns1
+	   {
+	   get{
+	      if (_btns1 == null)
+	       {
+	         _btns1  = GetUIUnit<GameObject>("btns1"); 
+	       }
+	      return _btns1;
+	     }
+	   }
+	  private RectTransform _rtBottom;
+	  public RectTransform rtBottom
+	   {
+	   get{
+	      if (_rtBottom == null)
+	       {
+	         _rtBottom  = GetUIUnit<RectTransform>("rtBottom"); 
+	       }
+	      return _rtBottom;
+	     }
+	   }
+	  private GameObject _go1;
+	  public GameObject go1
+	   {
+	   get{
+	      if (_go1 == null)
+	       {
+	         _go1  = GetUIUnit<GameObject>("go1"); 
+	       }
+	      return _go1;
+	     }
+	   }
+	  private Text _txtUpLimit;
+	  public Text txtUpLimit
+	   {
+	   get{
+	      if (_txtUpLimit == null)
+	       {
+	         _txtUpLimit  = GetUIUnit<Text>("txtUpLimit"); 
+	       }
+	      return _txtUpLimit;
+	     }
+	   }
+	  private List<object> _eftNumPos;
+	  public List<object> eftNumPos
+	   {
+	   get{
+	      if (_eftNumPos == null)
+	       {
+	         _eftNumPos  = GetUIUnit<List<object>>("eftNumPos"); 
+	       }
+	      return _eftNumPos;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{
 	{

+ 157 - 0
Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPre.cs

@@ -0,0 +1,157 @@
+using Core.Language;
+using Core.Utility;
+using Excel2Json;
+using GameLogic.Hero;
+using UnityEngine;
+using Utility;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "HeroPowerUpPre"  )]
+    public partial class HeroPowerUpPre : UIComponent
+    {
+        private HeroDetailPanel heroDetailPanel;
+        private HeroInfo heroInfo;
+        private async void Init()
+        {
+            heroDetailPanel = await UIManager.Instance.LoadAndOpenPanel<HeroDetailPanel>(null);
+        }
+        public override void AddEvent()
+        {
+        }
+        public override void DelEvent()
+        {
+        }
+        public override void AddButtonEvent()
+        {
+        }
+
+        public void OpenUpgradePre(HeroInfo heroInfo)
+        {
+            // this.heroInfo = heroInfo;
+            objPromote.SetActive(false);
+            objUpgrade.SetActive(true);
+
+            rtUpgradeBg.sizeDelta = new Vector2(rtUpgradeBg.sizeDelta.x, GlobalParam.Hero_Upgrade_UI_BG_Height);
+
+            HeroInfo nextLvInfo = new HeroInfo();
+            nextLvInfo.InitHero(heroInfo.modelID, (heroInfo.powerUpConfig.ID + 1), heroInfo.promoteConfig.ID);
+
+            SkillUpConfig upConfig = PlayerManager.Instance.heroController.GetSkillUpConfig4Lv(nextLvInfo.level.Value);
+            
+            
+            txtUpLv1.text = heroInfo.level.Value.ToStringEx();
+            txtUpLv2.text = nextLvInfo.level.Value.ToStringEx();
+            
+            SkillConfig skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID);
+            
+            //确认找到了技能
+            if (upConfig.ID > 0 && skillConfig.ID > 0)
+            {
+                objUpLvTips.SetActive(false);
+                objUpSkill.SetActive(true);
+                objAtts.SetActive(false);
+                
+                object[] data = new object[skillConfig.effectValue.Length];
+                for (int j = 0; j < skillConfig.effectValue.Length; j++)
+                {
+                    data[j] = skillConfig.effectValue[j];
+                }
+
+                imgNewSkill4Up.icon_name = skillConfig.icon;
+                txtSkillName4Up.text = LanguageManager.Instance.Text(skillConfig.name);
+                txSkillDesc4Up.text = LanguageManager.Instance.Text(skillConfig.desc, data);
+                
+                //解锁技能
+                if (upConfig.skillLv == 1)
+                {
+                    txSkillUp.text = LanguageManager.Instance.Text(61);
+                    rtSkillUpDi.sizeDelta = new Vector2(80, rtSkillUpDi.sizeDelta.y);
+                }
+                //技能升级
+                else
+                {
+                    txSkillUp.text = LanguageManager.Instance.Text(62, upConfig.skillLv -1 , upConfig.skillLv);
+                    rtSkillUpDi.sizeDelta = new Vector2(120, rtSkillUpDi.sizeDelta.y);
+                }
+            }
+            else
+            {
+                objUpSkill.SetActive(false);
+                
+                objUpLvTips.SetActive(true);
+                
+                objAtts.SetActive(true);
+                
+                SetAttInfo(heroInfo, nextLvInfo);
+            }
+
+        }
+
+        public void OpenPromotePre(HeroInfo heroInfo)
+        {
+            objPromote.SetActive(true);
+            objUpgrade.SetActive(false);
+            
+            rtPromoteBg.sizeDelta = new Vector2(rtUpgradeBg.sizeDelta.x, GlobalParam.Hero_Promote_UI_BG_Only_Star_Height);
+
+            HeroInfo nextLvInfo = new HeroInfo();
+            nextLvInfo.InitHero(heroInfo.modelID, heroInfo.powerUpConfig.ID, heroInfo.promoteConfig.ID + 1);
+            
+            SkillUpConfig upConfig = PlayerManager.Instance.heroController.GetSkillUpConfig4Star(nextLvInfo.star.Value);
+
+            SetAttInfo(heroInfo, nextLvInfo);
+            
+            HeroUITools.SetStarShow(Stars1, heroInfo.star.Value);
+            HeroUITools.SetStarShow(Stars2, nextLvInfo.star.Value);
+            
+            SkillConfig skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID);
+
+            if (upConfig.ID > 0 && skillConfig.ID > 0)
+            {
+                rtPromoteBg.sizeDelta = new Vector2(rtUpgradeBg.sizeDelta.x, GlobalParam.Hero_Promote_UI_BG_Unlock_Skill_Height);
+                objProSkillUnlock.SetActive(true);
+                starsPos.localPosition = new Vector3(0, GlobalParam.Hero_Promote_UI_BG_Star_Pos_2, 0);
+                
+                skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID);
+                
+                object[] data = new object[skillConfig.effectValue.Length];
+                for (int j = 0; j < skillConfig.effectValue.Length; j++)
+                {
+                    data[j] = skillConfig.effectValue[j];
+                }
+
+                imgNewSkill4Pro.icon_name = skillConfig.icon;
+                txtSkillName4Pro.text = LanguageManager.Instance.Text(skillConfig.name);
+                txSkillLvDesc4Pro.text = LanguageManager.Instance.Text(skillConfig.desc, data);
+                
+            }
+            else
+            {
+                objProSkillUnlock.SetActive(false);
+                starsPos.localPosition = Vector3.zero;
+            }
+            
+            // objProSkillUnlock.SetActive(false);
+            // objProSkillUp.SetActive(false);
+        }
+
+        private void SetAttInfo(HeroInfo heroInfo, HeroInfo nextLvInfo)
+        {
+            objAtts.SetActive(true);
+                
+            txtHPUpLv1.text = heroInfo.hp.Value.ToStringEx();
+            txtHPUpLv2.text = nextLvInfo.hp.Value.ToStringEx();
+
+            txtATKUpLv1.text = heroInfo.attack.Value.ToStringEx();
+            txtATKUpLv2.text = nextLvInfo.attack.Value.ToStringEx();
+            
+            txtDEFUpLv1.text = heroInfo.defense.Value.ToStringEx();
+            txtDEFUpLv2.text = nextLvInfo.defense.Value.ToStringEx();
+            
+            txtSHANBIUpLv1.text = heroInfo.shanbi.Value.ToStringEx();
+            txtSHANBIUpLv2.text = nextLvInfo.shanbi.Value.ToStringEx();
+        }
+
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPre.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: WXlKtiqqVnMZdNj9lVlu6tRrhjMoHX3iM2g337Eu+1xOzpwUMcZo08U=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 339 - 0
Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPreData.cs

@@ -0,0 +1,339 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+using TMPro;
+
+namespace Fort23.Mono
+{
+	public partial class HeroPowerUpPre 
+	{
+	  #region 自定义数据 
+	  private GameObject _objUpgrade;
+	  public GameObject objUpgrade
+	   {
+	   get{
+	      if (_objUpgrade == null)
+	       {
+	         _objUpgrade  = GetUIUnit<GameObject>("objUpgrade"); 
+	       }
+	      return _objUpgrade;
+	     }
+	   }
+	  private GameObject _objPromote;
+	  public GameObject objPromote
+	   {
+	   get{
+	      if (_objPromote == null)
+	       {
+	         _objPromote  = GetUIUnit<GameObject>("objPromote"); 
+	       }
+	      return _objPromote;
+	     }
+	   }
+	  private RectTransform _rtUpgradeBg;
+	  public RectTransform rtUpgradeBg
+	   {
+	   get{
+	      if (_rtUpgradeBg == null)
+	       {
+	         _rtUpgradeBg  = GetUIUnit<RectTransform>("rtUpgradeBg"); 
+	       }
+	      return _rtUpgradeBg;
+	     }
+	   }
+	  private TextMeshProUGUI _txtUpLv1;
+	  public TextMeshProUGUI txtUpLv1
+	   {
+	   get{
+	      if (_txtUpLv1 == null)
+	       {
+	         _txtUpLv1  = GetUIUnit<TextMeshProUGUI>("txtUpLv1"); 
+	       }
+	      return _txtUpLv1;
+	     }
+	   }
+	  private TextMeshProUGUI _txtUpLv2;
+	  public TextMeshProUGUI txtUpLv2
+	   {
+	   get{
+	      if (_txtUpLv2 == null)
+	       {
+	         _txtUpLv2  = GetUIUnit<TextMeshProUGUI>("txtUpLv2"); 
+	       }
+	      return _txtUpLv2;
+	     }
+	   }
+	  private GameObject _objAtts;
+	  public GameObject objAtts
+	   {
+	   get{
+	      if (_objAtts == null)
+	       {
+	         _objAtts  = GetUIUnit<GameObject>("objAtts"); 
+	       }
+	      return _objAtts;
+	     }
+	   }
+	  private GameObject _objUpSkill;
+	  public GameObject objUpSkill
+	   {
+	   get{
+	      if (_objUpSkill == null)
+	       {
+	         _objUpSkill  = GetUIUnit<GameObject>("objUpSkill"); 
+	       }
+	      return _objUpSkill;
+	     }
+	   }
+	  private TextMeshProUGUI _txtHPUpLv1;
+	  public TextMeshProUGUI txtHPUpLv1
+	   {
+	   get{
+	      if (_txtHPUpLv1 == null)
+	       {
+	         _txtHPUpLv1  = GetUIUnit<TextMeshProUGUI>("txtHPUpLv1"); 
+	       }
+	      return _txtHPUpLv1;
+	     }
+	   }
+	  private TextMeshProUGUI _txtHPUpLv2;
+	  public TextMeshProUGUI txtHPUpLv2
+	   {
+	   get{
+	      if (_txtHPUpLv2 == null)
+	       {
+	         _txtHPUpLv2  = GetUIUnit<TextMeshProUGUI>("txtHPUpLv2"); 
+	       }
+	      return _txtHPUpLv2;
+	     }
+	   }
+	  private TextMeshProUGUI _txtATKUpLv1;
+	  public TextMeshProUGUI txtATKUpLv1
+	   {
+	   get{
+	      if (_txtATKUpLv1 == null)
+	       {
+	         _txtATKUpLv1  = GetUIUnit<TextMeshProUGUI>("txtATKUpLv1"); 
+	       }
+	      return _txtATKUpLv1;
+	     }
+	   }
+	  private TextMeshProUGUI _txtATKUpLv2;
+	  public TextMeshProUGUI txtATKUpLv2
+	   {
+	   get{
+	      if (_txtATKUpLv2 == null)
+	       {
+	         _txtATKUpLv2  = GetUIUnit<TextMeshProUGUI>("txtATKUpLv2"); 
+	       }
+	      return _txtATKUpLv2;
+	     }
+	   }
+	  private TextMeshProUGUI _txtDEFUpLv1;
+	  public TextMeshProUGUI txtDEFUpLv1
+	   {
+	   get{
+	      if (_txtDEFUpLv1 == null)
+	       {
+	         _txtDEFUpLv1  = GetUIUnit<TextMeshProUGUI>("txtDEFUpLv1"); 
+	       }
+	      return _txtDEFUpLv1;
+	     }
+	   }
+	  private TextMeshProUGUI _txtDEFUpLv2;
+	  public TextMeshProUGUI txtDEFUpLv2
+	   {
+	   get{
+	      if (_txtDEFUpLv2 == null)
+	       {
+	         _txtDEFUpLv2  = GetUIUnit<TextMeshProUGUI>("txtDEFUpLv2"); 
+	       }
+	      return _txtDEFUpLv2;
+	     }
+	   }
+	  private TextMeshProUGUI _txtSHANBIUpLv1;
+	  public TextMeshProUGUI txtSHANBIUpLv1
+	   {
+	   get{
+	      if (_txtSHANBIUpLv1 == null)
+	       {
+	         _txtSHANBIUpLv1  = GetUIUnit<TextMeshProUGUI>("txtSHANBIUpLv1"); 
+	       }
+	      return _txtSHANBIUpLv1;
+	     }
+	   }
+	  private TextMeshProUGUI _txtSHANBIUpLv2;
+	  public TextMeshProUGUI txtSHANBIUpLv2
+	   {
+	   get{
+	      if (_txtSHANBIUpLv2 == null)
+	       {
+	         _txtSHANBIUpLv2  = GetUIUnit<TextMeshProUGUI>("txtSHANBIUpLv2"); 
+	       }
+	      return _txtSHANBIUpLv2;
+	     }
+	   }
+	  private MyImage _imgNewSkill4Up;
+	  public MyImage imgNewSkill4Up
+	   {
+	   get{
+	      if (_imgNewSkill4Up == null)
+	       {
+	         _imgNewSkill4Up  = GetUIUnit<MyImage>("imgNewSkill4Up"); 
+	       }
+	      return _imgNewSkill4Up;
+	     }
+	   }
+	  private Text _txtSkillName4Up;
+	  public Text txtSkillName4Up
+	   {
+	   get{
+	      if (_txtSkillName4Up == null)
+	       {
+	         _txtSkillName4Up  = GetUIUnit<Text>("txtSkillName4Up"); 
+	       }
+	      return _txtSkillName4Up;
+	     }
+	   }
+	  private Text _txSkillDesc4Up;
+	  public Text txSkillDesc4Up
+	   {
+	   get{
+	      if (_txSkillDesc4Up == null)
+	       {
+	         _txSkillDesc4Up  = GetUIUnit<Text>("txSkillDesc4Up"); 
+	       }
+	      return _txSkillDesc4Up;
+	     }
+	   }
+	  private Text _txSkillUp;
+	  public Text txSkillUp
+	   {
+	   get{
+	      if (_txSkillUp == null)
+	       {
+	         _txSkillUp  = GetUIUnit<Text>("txSkillUp"); 
+	       }
+	      return _txSkillUp;
+	     }
+	   }
+	  private RectTransform _rtPromoteBg;
+	  public RectTransform rtPromoteBg
+	   {
+	   get{
+	      if (_rtPromoteBg == null)
+	       {
+	         _rtPromoteBg  = GetUIUnit<RectTransform>("rtPromoteBg"); 
+	       }
+	      return _rtPromoteBg;
+	     }
+	   }
+	  private RectTransform _starsPos;
+	  public RectTransform starsPos
+	   {
+	   get{
+	      if (_starsPos == null)
+	       {
+	         _starsPos  = GetUIUnit<RectTransform>("starsPos"); 
+	       }
+	      return _starsPos;
+	     }
+	   }
+	  private List<object> _Stars1;
+	  public List<object> Stars1
+	   {
+	   get{
+	      if (_Stars1 == null)
+	       {
+	         _Stars1  = GetUIUnit<List<object>>("Stars1"); 
+	       }
+	      return _Stars1;
+	     }
+	   }
+	  private List<object> _Stars2;
+	  public List<object> Stars2
+	   {
+	   get{
+	      if (_Stars2 == null)
+	       {
+	         _Stars2  = GetUIUnit<List<object>>("Stars2"); 
+	       }
+	      return _Stars2;
+	     }
+	   }
+	  private GameObject _objProSkillUnlock;
+	  public GameObject objProSkillUnlock
+	   {
+	   get{
+	      if (_objProSkillUnlock == null)
+	       {
+	         _objProSkillUnlock  = GetUIUnit<GameObject>("objProSkillUnlock"); 
+	       }
+	      return _objProSkillUnlock;
+	     }
+	   }
+	  private MyImage _imgNewSkill4Pro;
+	  public MyImage imgNewSkill4Pro
+	   {
+	   get{
+	      if (_imgNewSkill4Pro == null)
+	       {
+	         _imgNewSkill4Pro  = GetUIUnit<MyImage>("imgNewSkill4Pro"); 
+	       }
+	      return _imgNewSkill4Pro;
+	     }
+	   }
+	  private Text _txtSkillName4Pro;
+	  public Text txtSkillName4Pro
+	   {
+	   get{
+	      if (_txtSkillName4Pro == null)
+	       {
+	         _txtSkillName4Pro  = GetUIUnit<Text>("txtSkillName4Pro"); 
+	       }
+	      return _txtSkillName4Pro;
+	     }
+	   }
+	  private Text _txSkillLvDesc4Pro;
+	  public Text txSkillLvDesc4Pro
+	   {
+	   get{
+	      if (_txSkillLvDesc4Pro == null)
+	       {
+	         _txSkillLvDesc4Pro  = GetUIUnit<Text>("txSkillLvDesc4Pro"); 
+	       }
+	      return _txSkillLvDesc4Pro;
+	     }
+	   }
+	  private RectTransform _rtSkillUpDi;
+	  public RectTransform rtSkillUpDi
+	   {
+	   get{
+	      if (_rtSkillUpDi == null)
+	       {
+	         _rtSkillUpDi  = GetUIUnit<RectTransform>("rtSkillUpDi"); 
+	       }
+	      return _rtSkillUpDi;
+	     }
+	   }
+	  private GameObject _objUpLvTips;
+	  public GameObject objUpLvTips
+	   {
+	   get{
+	      if (_objUpLvTips == null)
+	       {
+	         _objUpLvTips  = GetUIUnit<GameObject>("objUpLvTips"); 
+	       }
+	      return _objUpLvTips;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/Hero/HeroPowerUpPreData.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: D3tKvS78V38KyP/VN7SVPe+EFtylgkVqCVEE+6DpSk5yOg7U4J+fzic=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 29 - 0
Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEft.cs

@@ -0,0 +1,29 @@
+using Common.Utility.CombatTimer;
+using Fort23.UTool;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "HeroUpTxtEft"  )]
+    public partial class HeroUpTxtEft : UIComponent
+    {
+        private void Init()
+        {
+            CombatTimerManager.Instance.AddTimer(1f, delegate
+            {
+                UIManager.Instance.DormancyGComponent(this);
+                LogTool.Log("Recycle:" + poolObjName);
+            });
+            // UIManager.Instance.
+        }
+        public override void AddEvent()
+        {
+        }
+        public override void DelEvent()
+        {
+        }
+        public override void AddButtonEvent()
+        {
+        }
+
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEft.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: Bn9NvCz8Uy8k0efznRQ0v8IXYlrGbj2l5LDbIGBfyfWLXg5F3Ph0kqI=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 31 - 0
Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEftData.cs

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

+ 11 - 0
Assets/Scripts/GameUI/UI/Hero/HeroUpTxtEftData.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: XXoX4Sv5UX2rOQwxv3YzdcA06hmI41br7Cy5P7OpGdsBdlKDNbG5UMs=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

文件差異過大導致無法顯示
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


二進制
Excel2Json/Excel/Language.xlsx


二進制
Excel2Json/Excel/skill.xlsx


+ 93 - 1
ProjectSettings/ProjectSettings.asset

@@ -314,7 +314,99 @@ PlayerSettings:
   AndroidValidateAppBundleSize: 1
   AndroidValidateAppBundleSize: 1
   AndroidAppBundleSizeToValidate: 200
   AndroidAppBundleSizeToValidate: 200
   m_BuildTargetIcons: []
   m_BuildTargetIcons: []
-  m_BuildTargetPlatformIcons: []
+  m_BuildTargetPlatformIcons:
+  - m_BuildTarget: Android
+    m_Icons:
+    - m_Textures: []
+      m_Width: 432
+      m_Height: 432
+      m_Kind: 2
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 324
+      m_Height: 324
+      m_Kind: 2
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 216
+      m_Height: 216
+      m_Kind: 2
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 162
+      m_Height: 162
+      m_Kind: 2
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 108
+      m_Height: 108
+      m_Kind: 2
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 81
+      m_Height: 81
+      m_Kind: 2
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 192
+      m_Height: 192
+      m_Kind: 1
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 144
+      m_Height: 144
+      m_Kind: 1
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 96
+      m_Height: 96
+      m_Kind: 1
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 72
+      m_Height: 72
+      m_Kind: 1
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 48
+      m_Height: 48
+      m_Kind: 1
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 36
+      m_Height: 36
+      m_Kind: 1
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 192
+      m_Height: 192
+      m_Kind: 0
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 144
+      m_Height: 144
+      m_Kind: 0
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 96
+      m_Height: 96
+      m_Kind: 0
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 72
+      m_Height: 72
+      m_Kind: 0
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 48
+      m_Height: 48
+      m_Kind: 0
+      m_SubKind: 
+    - m_Textures: []
+      m_Width: 36
+      m_Height: 36
+      m_Kind: 0
+      m_SubKind: 
   m_BuildTargetBatching:
   m_BuildTargetBatching:
   - m_BuildTarget: Standalone
   - m_BuildTarget: Standalone
     m_StaticBatching: 0
     m_StaticBatching: 0

+ 6 - 6
UserSettings/EditorUserSettings.asset

@@ -39,16 +39,16 @@ EditorUserSettings:
       value: 5b520d0503545b0d0c0c0a2715770748154f4d2c7d7d7e627a7d4a35b4e1646a
       value: 5b520d0503545b0d0c0c0a2715770748154f4d2c7d7d7e627a7d4a35b4e1646a
       flags: 0
       flags: 0
     RecentlyUsedSceneGuid-6:
     RecentlyUsedSceneGuid-6:
-      value: 5a50500553530b595d0f597343770941474e4c722e2a20367e794861e1b86c68
+      value: 055303045d535e5d54080e721672094412154e7b757c71342e794b65b2e4616f
       flags: 0
       flags: 0
     RecentlyUsedSceneGuid-7:
     RecentlyUsedSceneGuid-7:
-      value: 5a500c0357030b0f0858097a44770f40154f4f2e2a2c743229794b64e0b56c6a
+      value: 5a50500553530b595d0f597343770941474e4c722e2a20367e794861e1b86c68
       flags: 0
       flags: 0
     RecentlyUsedSceneGuid-8:
     RecentlyUsedSceneGuid-8:
-      value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
+      value: 5a500c0357030b0f0858097a44770f40154f4f2e2a2c743229794b64e0b56c6a
       flags: 0
       flags: 0
     RecentlyUsedSceneGuid-9:
     RecentlyUsedSceneGuid-9:
-      value: 055303045d535e5d54080e721672094412154e7b757c71342e794b65b2e4616f
+      value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
       flags: 0
       flags: 0
     Systems Window:
     Systems Window:
       value: 183b144645154b7802000a2b17364d11021e17246e72662b47695d73a2a07478a2a505e1e82d6f2f100cca3210371526d1051c05e22a040f2507f00b32f01c061ccb5a9f5ace1e10d81c50a48d5d91a3959694aa9ad8efd7c9f2afe0f1c0fcfdf6f8b6f2a5a6dacfb89debbfa1cbc9c3f5c3bac18e9c89c1bbdec2d6f2b992939996c59699c79ae8d182b7baad82aba0b0aea88398abdbf1dd8a8ea765ffc520262728fafcf8f6c28eb162945c71898d6167877a72a980809c9f71cecece859d579fd5f106dbdadb21de0dde237c686c76706641634c764f547c624a7e622d6628286620686f653d2b635a0204003e0805017509093043470e3643041c5d5b415c54450e1c424b420f6e4b634e636263696655641a1f273c0f083c1102ec362de62318e9ea25ab61ade8ed0ee30655b0b6b7b8176615
       value: 183b144645154b7802000a2b17364d11021e17246e72662b47695d73a2a07478a2a505e1e82d6f2f100cca3210371526d1051c05e22a040f2507f00b32f01c061ccb5a9f5ace1e10d81c50a48d5d91a3959694aa9ad8efd7c9f2afe0f1c0fcfdf6f8b6f2a5a6dacfb89debbfa1cbc9c3f5c3bac18e9c89c1bbdec2d6f2b992939996c59699c79ae8d182b7baad82aba0b0aea88398abdbf1dd8a8ea765ffc520262728fafcf8f6c28eb162945c71898d6167877a72a980809c9f71cecece859d579fd5f106dbdadb21de0dde237c686c76706641634c764f547c624a7e622d6628286620686f653d2b635a0204003e0805017509093043470e3643041c5d5b415c54450e1c424b420f6e4b634e636263696655641a1f273c0f083c1102ec362de62318e9ea25ab61ade8ed0ee30655b0b6b7b8176615
@@ -57,10 +57,10 @@ EditorUserSettings:
       value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7
       value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7
       flags: 0
       flags: 0
     UnityEditor.ShaderGraph.FloatingWindowsLayout2:
     UnityEditor.ShaderGraph.FloatingWindowsLayout2:
-      value: 181344140043005e1a220d3b1f364b524c0c5a27130c293326201334cee5322ca0bd30e8eb293a707b0fd0180b3d0a36fc0d3d04e649500d1002ee0b5dbd1d2c27c00ad113cb1e10e41f1addc80993b982988db381b2b4808789f4aaa0a3b9adb9b3a8c482a7eec9b0a0f0a5aecee8c2c7d9b2d08e9c9189ea9e93de81e0dbc9dc94dfcd9b9f9a8188dff4c3f5c9fefdcbf6f3cfc7fccff3cacbd0f079f1f531343226ecece8e6d3ebef3fd22229d7df276a9b64
+      value: 181344140043005e1a220d3b1f364b524c0c5a27130c293326201334cee5322ca0bd30e8eb293a707b0fd0180b3d0a36fc0d3d04e649500d1002ee0b5dbd1d2c27c00ad113cb1e10e41f1addc80993b982988db381b2b4808789f4aaa0a3b9adb9b3a8c482a7eec9b0a0f0a5aecee8c2c7d9b2d08e9c9189ea9e93de81e0dbc9dc94dfcd9b9f9a8188dff4c3fac0f7f4c2f9f7c7c5f0cdfdc5c6d0f079f1f531343226ecece8e6d3ebef3fd22229d7df276a9b64
       flags: 0
       flags: 0
     UnityEditor.ShaderGraph.InspectorWindow:
     UnityEditor.ShaderGraph.InspectorWindow:
-      value: 18135939215a0a5004000b0e15254b524c1119263f2d6a722016393ce1eb3d36e5d339f9a5602b2e2c07a37e0901373ae01e0008f707250d171df81a53a5485d41895ac825e0100ec20313c0d91cddccd3d0c7efcca9bd80908fecb0f9cfddf1eff4e7a1b1eae482f0fcaee1e1928b86d888ed969b938795ea828182ec8182848985d4848e9ac5
+      value: 18135939215a0a5004000b0e15254b524c1119263f2d6a722016393ce1eb3d36e5d339f9a5602b2e2c07a37e0901373ae01e0008f707250d171df81a53a5485d41895ac825e0100ec20313c0d91cddccd3d0c7efcca9bd80908ff0a2a4a1bbaaa0a9f2a3f3f8aa93e6edf38e9ccbddc18390ac86d4849394ea829f83f291cb918384d28397d5888b89dcf2dff2c7f7f7c2f3f38b88
       flags: 0
       flags: 0
     vcSharedLogLevel:
     vcSharedLogLevel:
       value: 0d5e400f0650
       value: 0d5e400f0650

+ 302 - 157
UserSettings/Layouts/CurrentMaximizeLayout.dwlt

@@ -14,21 +14,177 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
   m_Children:
   m_Children:
   - {fileID: 3}
   - {fileID: 3}
-  - {fileID: 9}
   - {fileID: 11}
   - {fileID: 11}
   - {fileID: 13}
   - {fileID: 13}
+  - {fileID: 15}
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
     y: 30
     y: 30
-    width: 1632
-    height: 919
+    width: 1511
+    height: 931
   m_MinSize: {x: 400, y: 100}
   m_MinSize: {x: 400, y: 100}
   m_MaxSize: {x: 32384, y: 16192}
   m_MaxSize: {x: 32384, y: 16192}
   vertical: 0
   vertical: 0
-  controlID: 4758
+  controlID: 19
   draggingID: 0
   draggingID: 0
 --- !u!114 &2
 --- !u!114 &2
+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: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: 160
+    y: 96
+    width: 488.5
+    height: 742
+  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:
+  - UnityEditor.DeviceSimulation.SimulatorWindow
+  m_SerializedViewValues:
+  - /Users/lcn/0Fort23Projects/XY001/Library/PlayModeViewStates/05e7283e9f9f248e4adc9b45414f021c
+  m_PlayModeViewName: GameView
+  m_ShowGizmos: 0
+  m_TargetDisplay: 0
+  m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
+  m_TargetSize: {x: 750, y: 1334}
+  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: 07000000000000000000000000000000000000000000000000000000000000000000000000000000
+  m_ZoomArea:
+    m_HRangeLocked: 0
+    m_VRangeLocked: 0
+    hZoomLockedByDefault: 0
+    vZoomLockedByDefault: 0
+    m_HBaseRangeMin: -187.5
+    m_HBaseRangeMax: 187.5
+    m_VBaseRangeMin: -333.5
+    m_VBaseRangeMax: 333.5
+    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: 1
+    m_EnableSliderZoomHorizontal: 0
+    m_EnableSliderZoomVertical: 0
+    m_UniformScale: 1
+    m_UpDirection: 1
+    m_DrawArea:
+      serializedVersion: 2
+      x: 0
+      y: 21
+      width: 488.5
+      height: 721
+    m_Scale: {x: 1, y: 1}
+    m_Translation: {x: 244.25, y: 360.5}
+    m_MarginLeft: 0
+    m_MarginRight: 0
+    m_MarginTop: 0
+    m_MarginBottom: 0
+    m_LastShownAreaInsideMargins:
+      serializedVersion: 2
+      x: -244.25
+      y: -360.5
+      width: 488.5
+      height: 721
+    m_MinimalGUI: 1
+  m_defaultScale: 1
+  m_LastWindowPixelSize: {x: 977, y: 1484}
+  m_ClearInEditMode: 1
+  m_NoCameraWarning: 1
+  m_LowResolutionForAspectRatios: 01000000000000000000
+  m_XRRenderMode: 0
+  m_RenderTexture: {fileID: 0}
+--- !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: 1
+  m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Children:
+  - {fileID: 4}
+  - {fileID: 9}
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 489.5
+    height: 931
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 8096, y: 16192}
+  vertical: 1
+  controlID: 20
+  draggingID: 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: 1
+  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: GameView
+  m_EditorClassIdentifier: 
+  m_Children: []
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 489.5
+    height: 763
+  m_MinSize: {x: 201, y: 221}
+  m_MaxSize: {x: 4001, y: 4021}
+  m_ActualView: {fileID: 2}
+  m_Panes:
+  - {fileID: 5}
+  - {fileID: 2}
+  - {fileID: 6}
+  - {fileID: 7}
+  - {fileID: 8}
+  m_Selected: 1
+  m_LastSelected: 0
+--- !u!114 &5
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -48,10 +204,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 96
-    y: 108
-    width: 681
-    height: 643
+    x: 160
+    y: 96
+    width: 488.5
+    height: 742
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -106,7 +262,7 @@ MonoBehaviour:
       collapsed: 0
       collapsed: 0
       displayed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 0}
+      snapOffsetDelta: {x: 0, y: 25}
       snapCorner: 1
       snapCorner: 1
       id: unity-search-toolbar
       id: unity-search-toolbar
       index: 1
       index: 1
@@ -118,7 +274,7 @@ MonoBehaviour:
       floating: 0
       floating: 0
       collapsed: 0
       collapsed: 0
       displayed: 1
       displayed: 1
-      snapOffset: {x: 0, y: 0}
+      snapOffset: {x: 0, y: 25}
       snapOffsetDelta: {x: 0, y: 0}
       snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       snapCorner: 0
       id: unity-transform-toolbar
       id: unity-transform-toolbar
@@ -144,7 +300,7 @@ MonoBehaviour:
       floating: 0
       floating: 0
       collapsed: 0
       collapsed: 0
       displayed: 1
       displayed: 1
-      snapOffset: {x: 67.5, y: 0}
+      snapOffset: {x: 67.5, y: 25}
       snapOffsetDelta: {x: 0, y: 0}
       snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       snapCorner: 0
       id: Orientation
       id: Orientation
@@ -158,7 +314,7 @@ MonoBehaviour:
       collapsed: 0
       collapsed: 0
       displayed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 0}
+      snapOffsetDelta: {x: 0, y: 25}
       snapCorner: 0
       snapCorner: 0
       id: Scene View/Light Settings
       id: Scene View/Light Settings
       index: 2
       index: 2
@@ -184,7 +340,7 @@ MonoBehaviour:
       collapsed: 0
       collapsed: 0
       displayed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 0}
+      snapOffsetDelta: {x: 0, y: 25}
       snapCorner: 0
       snapCorner: 0
       id: Scene View/Cloth Constraints
       id: Scene View/Cloth Constraints
       index: 3
       index: 3
@@ -197,7 +353,7 @@ MonoBehaviour:
       collapsed: 0
       collapsed: 0
       displayed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 0}
+      snapOffsetDelta: {x: 0, y: 25}
       snapCorner: 0
       snapCorner: 0
       id: Scene View/Cloth Collisions
       id: Scene View/Cloth Collisions
       index: 4
       index: 4
@@ -249,7 +405,7 @@ MonoBehaviour:
       collapsed: 0
       collapsed: 0
       displayed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 0}
+      snapOffsetDelta: {x: 0, y: 25}
       snapCorner: 0
       snapCorner: 0
       id: Scene View/Occlusion Culling
       id: Scene View/Occlusion Culling
       index: 5
       index: 5
@@ -262,7 +418,7 @@ MonoBehaviour:
       collapsed: 0
       collapsed: 0
       displayed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 0}
+      snapOffsetDelta: {x: 0, y: 25}
       snapCorner: 0
       snapCorner: 0
       id: Scene View/Physics Debugger
       id: Scene View/Physics Debugger
       index: 6
       index: 6
@@ -275,7 +431,7 @@ MonoBehaviour:
       collapsed: 0
       collapsed: 0
       displayed: 0
       displayed: 0
       snapOffset: {x: 0, y: 0}
       snapOffset: {x: 0, y: 0}
-      snapOffsetDelta: {x: 0, y: 0}
+      snapOffsetDelta: {x: 0, y: 25}
       snapCorner: 0
       snapCorner: 0
       id: Scene View/Scene Visibility
       id: Scene View/Scene Visibility
       index: 7
       index: 7
@@ -415,17 +571,17 @@ MonoBehaviour:
     m_OverlaysVisible: 1
     m_OverlaysVisible: 1
   m_WindowGUID: 6ec4b650245f86f4b853159290a53aa0
   m_WindowGUID: 6ec4b650245f86f4b853159290a53aa0
   m_Gizmos: 1
   m_Gizmos: 1
-  m_OverrideSceneCullingMask: 6917529027641081856
-  m_SceneIsLit: 1
+  m_OverrideSceneCullingMask: 0
+  m_SceneIsLit: 0
   m_SceneLighting: 1
   m_SceneLighting: 1
   m_2DMode: 1
   m_2DMode: 1
   m_isRotationLocked: 0
   m_isRotationLocked: 0
   m_PlayAudio: 0
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_AudioPlay: 0
   m_Position:
   m_Position:
-    m_Target: {x: 0.2573974, y: -1.7183875, z: 0.0050280355}
+    m_Target: {x: 529.48627, y: 224.63084, z: 3.4487731}
     speed: 2
     speed: 2
-    m_Value: {x: 0.24857977, y: -1.7030916, z: 0.0039177355}
+    m_Value: {x: 529.48627, y: 224.63084, z: 3.4487731}
   m_RenderMode: 0
   m_RenderMode: 0
   m_CameraMode:
   m_CameraMode:
     drawMode: 0
     drawMode: 0
@@ -436,7 +592,7 @@ MonoBehaviour:
   m_SceneViewState:
   m_SceneViewState:
     m_AlwaysRefresh: 0
     m_AlwaysRefresh: 0
     showFog: 1
     showFog: 1
-    showSkybox: 1
+    showSkybox: 0
     showFlares: 1
     showFlares: 1
     showImageEffects: 1
     showImageEffects: 1
     showParticleSystems: 1
     showParticleSystems: 1
@@ -475,9 +631,9 @@ MonoBehaviour:
     speed: 2
     speed: 2
     m_Value: {x: 0, y: 0, z: 0, w: 1}
     m_Value: {x: 0, y: 0, z: 0, w: 1}
   m_Size:
   m_Size:
-    m_Target: 1.0435817
+    m_Target: 420.31317
     speed: 2
     speed: 2
-    m_Value: 1.154612
+    m_Value: 420.31317
   m_Ortho:
   m_Ortho:
     m_Target: 1
     m_Target: 1
     speed: 2
     speed: 2
@@ -504,61 +660,7 @@ MonoBehaviour:
   m_SceneVisActive: 1
   m_SceneVisActive: 1
   m_LastLockedObject: {fileID: 0}
   m_LastLockedObject: {fileID: 0}
   m_ViewIsLockedToObject: 0
   m_ViewIsLockedToObject: 0
---- !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: 1
-  m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Children:
-  - {fileID: 4}
-  - {fileID: 7}
-  m_Position:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 682
-    height: 919
-  m_MinSize: {x: 100, y: 100}
-  m_MaxSize: {x: 8096, y: 16192}
-  vertical: 1
-  controlID: 4759
-  draggingID: 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: 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: 682
-    height: 664
-  m_MinSize: {x: 201, y: 221}
-  m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 2}
-  m_Panes:
-  - {fileID: 2}
-  - {fileID: 5}
-  - {fileID: 6}
-  m_Selected: 0
-  m_LastSelected: 2
---- !u!114 &5
+--- !u!114 &6
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -578,10 +680,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 0
-    y: 73
-    width: 1209
-    height: 436
+    x: 112
+    y: 96
+    width: 528.5
+    height: 644.5
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -696,7 +798,7 @@ MonoBehaviour:
   m_CurrentEditor: 0
   m_CurrentEditor: 0
   m_LayerEditor:
   m_LayerEditor:
     m_SelectedLayerIndex: 0
     m_SelectedLayerIndex: 0
---- !u!114 &6
+--- !u!114 &7
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -716,10 +818,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 0
-    y: 73
-    width: 1188
-    height: 641
+    x: 112
+    y: 96
+    width: 528.5
+    height: 644.5
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -826,7 +928,50 @@ MonoBehaviour:
       type: {class: TransitionLibraryAliasesPage, ns: Animancer.Editor.TransitionLibraries, asm: Kybernetik.Animancer.Editor}
       type: {class: TransitionLibraryAliasesPage, ns: Animancer.Editor.TransitionLibraries, asm: Kybernetik.Animancer.Editor}
       data:
       data:
         _ScrollPosition: {x: 0, y: 0}
         _ScrollPosition: {x: 0, y: 0}
---- !u!114 &7
+--- !u!114 &8
+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: 11500000, guid: f817a38900380be47942905e17e7d39b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Timeline
+    m_Image: {fileID: -5401195905404635996, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: 112
+    y: 96
+    width: 528.5
+    height: 644.5
+  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_Preferences:
+    editType: 0
+    timeReferenceMode: 0
+  m_LockTracker:
+    m_IsLocked: 0
+  m_SequenceHierarchy: {fileID: 0}
+  m_SequencePath:
+    m_SelectionRoot: 0
+    m_SubElements: []
+--- !u!114 &9
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -842,17 +987,17 @@ MonoBehaviour:
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
-    y: 664
-    width: 682
-    height: 255
+    y: 763
+    width: 489.5
+    height: 168
   m_MinSize: {x: 101, y: 121}
   m_MinSize: {x: 101, y: 121}
   m_MaxSize: {x: 4001, y: 4021}
   m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 8}
+  m_ActualView: {fileID: 10}
   m_Panes:
   m_Panes:
-  - {fileID: 8}
+  - {fileID: 10}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &8
+--- !u!114 &10
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -872,10 +1017,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 96
-    y: 772
-    width: 681
-    height: 234
+    x: 160
+    y: 859
+    width: 488.5
+    height: 147
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -886,7 +1031,7 @@ MonoBehaviour:
     m_LastAppliedPresetName: Default
     m_LastAppliedPresetName: Default
     m_SaveData: []
     m_SaveData: []
     m_OverlaysVisible: 1
     m_OverlaysVisible: 1
---- !u!114 &9
+--- !u!114 &11
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -901,18 +1046,18 @@ MonoBehaviour:
   m_Children: []
   m_Children: []
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
-    x: 682
+    x: 489.5
     y: 0
     y: 0
-    width: 290.5
-    height: 919
+    width: 235.5
+    height: 931
   m_MinSize: {x: 202, y: 221}
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
   m_MaxSize: {x: 4002, y: 4021}
-  m_ActualView: {fileID: 10}
+  m_ActualView: {fileID: 12}
   m_Panes:
   m_Panes:
-  - {fileID: 10}
+  - {fileID: 12}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &10
+--- !u!114 &12
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -932,10 +1077,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 778
-    y: 108
-    width: 288.5
-    height: 898
+    x: 649.5
+    y: 96
+    width: 233.5
+    height: 910
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -948,10 +1093,10 @@ MonoBehaviour:
     m_OverlaysVisible: 1
     m_OverlaysVisible: 1
   m_SceneHierarchy:
   m_SceneHierarchy:
     m_TreeViewState:
     m_TreeViewState:
-      scrollPos: {x: 0, y: 48}
-      m_SelectedIDs: 56f2feff
-      m_LastClickedID: -69034
-      m_ExpandedIDs: 523efdff7c3efdff1275fdff1efffdff4a34feff72a9feff74c3feff7cc3feff7ec3feff82c3feff4ad9feff66d9feff8ce9feff5ceafeff48f2feff4af2feff4cf2feff56f2feff68f9feffc2fcfeffd2fcfeff7cfefeffa6fefeffd0fefeff24fffeff2afffeff2efffeffdcfffeff7405ffffeea6fffff0a6fffff2a6fffffca6ffffa8adffff5aaeffff08afffffeabbffff9ebdffffa0bdffff
+      scrollPos: {x: 0, y: 0}
+      m_SelectedIDs: 
+      m_LastClickedID: 0
+      m_ExpandedIDs: 2287f9ff8087f9ffa02b0100d62b0100c02d0100a82e0100082f0100ba300100
       m_RenameOverlay:
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_UserAcceptedRename: 0
         m_Name: 
         m_Name: 
@@ -967,7 +1112,7 @@ MonoBehaviour:
         m_IsRenaming: 0
         m_IsRenaming: 0
         m_OriginalEventType: 11
         m_OriginalEventType: 11
         m_IsRenamingFilename: 0
         m_IsRenamingFilename: 0
-        m_ClientGUIView: {fileID: 9}
+        m_ClientGUIView: {fileID: 11}
       m_SearchString: 
       m_SearchString: 
     m_ExpandedScenes: []
     m_ExpandedScenes: []
     m_CurrenRootInstanceID: 0
     m_CurrenRootInstanceID: 0
@@ -975,7 +1120,7 @@ MonoBehaviour:
       m_IsLocked: 0
       m_IsLocked: 0
     m_CurrentSortingName: TransformSorting
     m_CurrentSortingName: TransformSorting
   m_WindowGUID: 9cd1477dbcc46d642bdb31d35b82cd83
   m_WindowGUID: 9cd1477dbcc46d642bdb31d35b82cd83
---- !u!114 &11
+--- !u!114 &13
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -990,18 +1135,18 @@ MonoBehaviour:
   m_Children: []
   m_Children: []
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
-    x: 972.5
+    x: 725
     y: 0
     y: 0
-    width: 329.5
-    height: 919
+    width: 406
+    height: 931
   m_MinSize: {x: 232, y: 271}
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
   m_MaxSize: {x: 10002, y: 10021}
-  m_ActualView: {fileID: 12}
+  m_ActualView: {fileID: 14}
   m_Panes:
   m_Panes:
-  - {fileID: 12}
+  - {fileID: 14}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &12
+--- !u!114 &14
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -1021,10 +1166,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1068.5
-    y: 108
-    width: 327.5
-    height: 898
+    x: 885
+    y: 96
+    width: 404
+    height: 910
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -1046,7 +1191,7 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SkipHidden: 0
     m_SearchArea: 1
     m_SearchArea: 1
     m_Folders:
     m_Folders:
-    - Assets/Layer Lab/GUI Pro-SuperCasual/ResourcesData/Fonts
+    - Assets/Res/Font
     m_Globs: []
     m_Globs: []
     m_OriginalText: 
     m_OriginalText: 
     m_ImportLogFlags: 0
     m_ImportLogFlags: 0
@@ -1054,16 +1199,16 @@ MonoBehaviour:
   m_ViewMode: 1
   m_ViewMode: 1
   m_StartGridSize: 16
   m_StartGridSize: 16
   m_LastFolders:
   m_LastFolders:
-  - Assets/Layer Lab/GUI Pro-SuperCasual/ResourcesData/Fonts
+  - Assets/Res/Font
   m_LastFoldersGridSize: 16
   m_LastFoldersGridSize: 16
   m_LastProjectPath: /Users/lcn/0Fort23Projects/XY001
   m_LastProjectPath: /Users/lcn/0Fort23Projects/XY001
   m_LockTracker:
   m_LockTracker:
     m_IsLocked: 0
     m_IsLocked: 0
   m_FolderTreeState:
   m_FolderTreeState:
     scrollPos: {x: 0, y: 0}
     scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: 92090600
-    m_LastClickedID: 395666
-    m_ExpandedIDs: 0000000082a2000084a200008aa2000096a200009aa20000a2a20000b0a20000d0a20000403e010000ca9a3b
+    m_SelectedIDs: 92a30000
+    m_LastClickedID: 41874
+    m_ExpandedIDs: 0000000086a1000088a100008aa100008ca100008ea1000090a1000092a1000094a10000aca30000300c0100320c010000ca9a3b
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
       m_Name: 
       m_Name: 
@@ -1079,7 +1224,7 @@ MonoBehaviour:
       m_IsRenaming: 0
       m_IsRenaming: 0
       m_OriginalEventType: 11
       m_OriginalEventType: 11
       m_IsRenamingFilename: 1
       m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 11}
+      m_ClientGUIView: {fileID: 13}
     m_SearchString: 
     m_SearchString: 
     m_CreateAssetUtility:
     m_CreateAssetUtility:
       m_EndAction: {fileID: 0}
       m_EndAction: {fileID: 0}
@@ -1091,7 +1236,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_SelectedIDs: 
     m_LastClickedID: 0
     m_LastClickedID: 0
-    m_ExpandedIDs: 0000000082a2000096a20000d0a20000403e010000ca9a3b
+    m_ExpandedIDs: 0000000086a1000088a100008aa100008ca100008ea1000090a1000092a1000094a10000
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
       m_Name: 
       m_Name: 
@@ -1116,26 +1261,26 @@ MonoBehaviour:
       m_Icon: {fileID: 0}
       m_Icon: {fileID: 0}
       m_ResourceFile: 
       m_ResourceFile: 
   m_ListAreaState:
   m_ListAreaState:
-    m_SelectedInstanceIDs: 56f2feff
-    m_LastClickedInstanceID: -69034
+    m_SelectedInstanceIDs: 
+    m_LastClickedInstanceID: 0
     m_HadKeyboardFocusLastEvent: 1
     m_HadKeyboardFocusLastEvent: 1
-    m_ExpandedInstanceIDs: d02e01001ef900002afc000092f80000f0f70000d8fa000046fa0000f0f80000dc5b0100d05b0100c85b0100cc5b01004a0b0100de0b0100de0a01009e0b0100220b01002a4201007a490100aa4401008a4301006a4e010090b8010006b40100
+    m_ExpandedInstanceIDs: d02e01001ef900002afc000092f80000f0f70000d8fa000046fa0000f0f80000dc5b0100d05b0100c85b0100cc5b01004a0b0100de0b0100de0a01009e0b0100220b01002a4201007a490100aa4401008a4301006a4e0100
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
-      m_Name: 
-      m_OriginalName: 
+      m_Name: DrawParabola
+      m_OriginalName: DrawParabola
       m_EditFieldRect:
       m_EditFieldRect:
         serializedVersion: 2
         serializedVersion: 2
         x: 0
         x: 0
         y: 0
         y: 0
         width: 0
         width: 0
         height: 0
         height: 0
-      m_UserData: 0
+      m_UserData: 18842
       m_IsWaitingForDelay: 0
       m_IsWaitingForDelay: 0
       m_IsRenaming: 0
       m_IsRenaming: 0
-      m_OriginalEventType: 11
+      m_OriginalEventType: 0
       m_IsRenamingFilename: 1
       m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 11}
+      m_ClientGUIView: {fileID: 13}
     m_CreateAssetUtility:
     m_CreateAssetUtility:
       m_EndAction: {fileID: 0}
       m_EndAction: {fileID: 0}
       m_InstanceID: 0
       m_InstanceID: 0
@@ -1146,8 +1291,8 @@ MonoBehaviour:
     m_ScrollPosition: {x: 0, y: 0}
     m_ScrollPosition: {x: 0, y: 0}
     m_GridSize: 16
     m_GridSize: 16
   m_SkipHiddenPackages: 0
   m_SkipHiddenPackages: 0
-  m_DirectoriesAreaWidth: 189.5
---- !u!114 &13
+  m_DirectoriesAreaWidth: 227
+--- !u!114 &15
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -1162,18 +1307,18 @@ MonoBehaviour:
   m_Children: []
   m_Children: []
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1302
+    x: 1131
     y: 0
     y: 0
-    width: 330
-    height: 919
+    width: 380
+    height: 931
   m_MinSize: {x: 276, y: 71}
   m_MinSize: {x: 276, y: 71}
   m_MaxSize: {x: 4001, y: 4021}
   m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 14}
+  m_ActualView: {fileID: 16}
   m_Panes:
   m_Panes:
-  - {fileID: 14}
+  - {fileID: 16}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &14
+--- !u!114 &16
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -1193,14 +1338,14 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1398
-    y: 108
-    width: 329
-    height: 898
+    x: 1291
+    y: 96
+    width: 379
+    height: 910
   m_SerializedDataModeController:
   m_SerializedDataModeController:
-    m_DataMode: 1
-    m_PreferredDataMode: 1
-    m_SupportedDataModes: 010000000200000003000000
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
     isAutomatic: 1
     isAutomatic: 1
   m_ViewDataDictionary: {fileID: 0}
   m_ViewDataDictionary: {fileID: 0}
   m_OverlayCanvas:
   m_OverlayCanvas:
@@ -1210,7 +1355,7 @@ MonoBehaviour:
   m_ObjectsLockedBeforeSerialization: []
   m_ObjectsLockedBeforeSerialization: []
   m_InstanceIDsLockedBeforeSerialization: 
   m_InstanceIDsLockedBeforeSerialization: 
   m_PreviewResizer:
   m_PreviewResizer:
-    m_CachedPref: 244
+    m_CachedPref: 161
     m_ControlHash: -371814159
     m_ControlHash: -371814159
     m_PrefName: Preview_InspectorPreview
     m_PrefName: Preview_InspectorPreview
   m_LastInspectedObjectInstanceID: -1
   m_LastInspectedObjectInstanceID: -1

文件差異過大導致無法顯示
+ 387 - 630
UserSettings/Layouts/default-2022.dwlt


+ 5 - 5
美术/工具/imgui.ini

@@ -10,27 +10,27 @@ Collapsed=0
 
 
 [Window][Tool]
 [Window][Tool]
 Pos=400,0
 Pos=400,0
-Size=900,100
+Size=709,100
 Collapsed=0
 Collapsed=0
 
 
 [Window][unity_art]
 [Window][unity_art]
-Pos=1300,0
+Pos=1109,0
 Size=400,720
 Size=400,720
 Collapsed=0
 Collapsed=0
 
 
 [Window][console]
 [Window][console]
 Pos=400,520
 Pos=400,520
-Size=900,70
+Size=709,70
 Collapsed=0
 Collapsed=0
 
 
 [Window][控制台]
 [Window][控制台]
 Pos=400,590
 Pos=400,590
-Size=900,130
+Size=709,130
 Collapsed=0
 Collapsed=0
 
 
 [Window][scence]
 [Window][scence]
 Pos=400,100
 Pos=400,100
-Size=900,420
+Size=709,420
 Collapsed=0
 Collapsed=0
 
 
 [Docking][Data]
 [Docking][Data]

部分文件因文件數量過多而無法顯示