Browse Source

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

李桃 1 day ago
parent
commit
e06163a003
63 changed files with 2379 additions and 416 deletions
  1. 117 1
      Assets/Art/Dujie/predujie.playable
  2. 0 9
      Assets/Art/Environment/cj01.prefab
  3. 1 1
      Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat
  4. 2 2
      Assets/Art/VFX/Materials/UIMat/ui_renwu_lg.mat
  5. 1359 19
      Assets/Art/cs3.scene
  6. 3 3
      Assets/Res/Config/BuffConfig.json
  7. 1 1
      Assets/Res/Config/EventConfig.json
  8. 47 31
      Assets/Res/Config/LanguageChineseConfig.json
  9. 24 24
      Assets/Res/Config/LanguageChineseConfig_skill.json
  10. 20 20
      Assets/Res/Config/SentimentEffectConfig.json
  11. 1 1
      Assets/Res/UI/Canvas/Canvas.prefab
  12. 4 4
      Assets/Scenes/testCombat.scene
  13. 23 7
      Assets/Scripts/Core/Editor/BuildEtitor/BuildEditor.cs
  14. 22 5
      Assets/Scripts/Core/Editor/HybridCLR/BuildAssetsCommand.cs
  15. 22 1
      Assets/Scripts/Core/Log/LogServer.cs
  16. 1 1
      Assets/Scripts/GameData/ExcelConfig/SentimentEffectConfig.cs
  17. 6 53
      Assets/Scripts/GameLogic/Bag/BagController.cs
  18. 5 1
      Assets/Scripts/GameLogic/Combat/Buff/BuffBasic.cs
  19. 4 5
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroEntity.cs
  20. 25 2
      Assets/Scripts/GameLogic/Hero/HeroInfo.cs
  21. 8 1
      Assets/Scripts/GameLogic/Player/PlayerManager.cs
  22. 3 1
      Assets/Scripts/GameLogic/Player/SummonManager.cs
  23. 1 1
      Assets/Scripts/GameLogic/RedDot/RedDotData.cs
  24. 14 0
      Assets/Scripts/GameLogic/SDK/DBManager.cs
  25. 2 1
      Assets/Scripts/GameLogic/Shop/ShopManger.cs
  26. 1 1
      Assets/Scripts/GameUI/Combat/CombatDrive.cs
  27. 1 0
      Assets/Scripts/GameUI/Combat/LevelBattleCombatMono.cs
  28. 1 0
      Assets/Scripts/GameUI/EventManager/DialogueManager.cs
  29. 3 1
      Assets/Scripts/GameUI/EventManager/EventSystemManager.cs
  30. 18 1
      Assets/Scripts/GameUI/GameApplction.cs
  31. 2 5
      Assets/Scripts/GameUI/UI/AppBarPanel/TitlePanel.cs
  32. 1 0
      Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs
  33. 2 0
      Assets/Scripts/GameUI/UI/BoxPanel/GachaPanel.cs
  34. 1 1
      Assets/Scripts/GameUI/UI/BoxPanel/OpenBoxScorePanel.cs
  35. 13 0
      Assets/Scripts/GameUI/UI/CombatPanel/HeroHpWidget.cs
  36. 7 0
      Assets/Scripts/GameUI/UI/CombatPanel/ZhuanPanPanel.cs
  37. 2 1
      Assets/Scripts/GameUI/UI/DaoYouPanel/DaoYouInfoPanel.cs
  38. 1 0
      Assets/Scripts/GameUI/UI/DaoYouPanel/DaoYouLevelWidget.cs
  39. 3 1
      Assets/Scripts/GameUI/UI/DivineSence/DivineSenceRestoredWidget.cs
  40. 4 1
      Assets/Scripts/GameUI/UI/GongFaUpgradePanel/GongFaUpgradePanel.cs
  41. 1 0
      Assets/Scripts/GameUI/UI/GuidePanel/PlayerGuideManager.cs
  42. 5 4
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroBreakthroughPanel.cs
  43. 1 7
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroHerlp.cs
  44. 25 32
      Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroInformationPanel.cs
  45. 1 0
      Assets/Scripts/GameUI/UI/HeroInformationPanel/UseExpElixirPanel.cs
  46. 3 0
      Assets/Scripts/GameUI/UI/MainHeroPnael/SelectFaBaoPanel.cs
  47. 3 10
      Assets/Scripts/GameUI/UI/MainPanel/MainPanel.cs
  48. 2 0
      Assets/Scripts/GameUI/UI/QiankundaiPanel/QiankundaiPanel.cs
  49. 1 0
      Assets/Scripts/GameUI/UI/SentimentPanel/SentimentInfoPanel.cs
  50. 1 0
      Assets/Scripts/GameUI/UI/ShopPanel/ShopGachaPanel.cs
  51. 1 0
      Assets/Scripts/GameUI/UI/TowerPanel/TowerLevelWidget.cs
  52. 236 0
      Assets/Scripts/GameUI/VersionChecker.cs
  53. 11 0
      Assets/Scripts/GameUI/VersionChecker.cs.meta
  54. 0 0
      Assets/StreamingAssets/assetConfig.txt
  55. BIN
      Excel2Json/Excel/EventConfig.xlsx
  56. BIN
      Excel2Json/Excel/Language.xlsx
  57. BIN
      Excel2Json/Excel/Sentiment.xlsx
  58. 3 3
      UserSettings/EditorUserSettings.asset
  59. 147 101
      UserSettings/Layouts/CurrentMaximizeLayout.dwlt
  60. 161 52
      UserSettings/Layouts/default-2022.dwlt
  61. 2 0
      XiuXianGame.sln.DotSettings.user
  62. BIN
      美术/商店所需/无logo宣传图横.png
  63. BIN
      美术/商店所需/无logo宣传图竖.png

+ 117 - 1
Assets/Art/Dujie/predujie.playable

@@ -1,5 +1,28 @@
 %YAML 1.1
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
 %TAG !u! tag:yousandi.cn,2023:
+--- !u!114 &-9174596349028513306
+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: 48853ae485fa386428341ac1ea122570, type: 3}
+  m_Name: ControlPlayableAsset(Clone)
+  m_EditorClassIdentifier: 
+  sourceGameObject:
+    exposedName: 255281cd94c19e94baf8ee339778948d
+    defaultValue: {fileID: 0}
+  prefabGameObject: {fileID: 0}
+  updateParticle: 1
+  particleRandomSeed: 7985
+  updateDirector: 1
+  updateITimeControl: 1
+  searchHierarchy: 1
+  active: 1
+  postPlayback: 2
 --- !u!114 &-8392393903099103772
 --- !u!114 &-8392393903099103772
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -394,6 +417,7 @@ MonoBehaviour:
   - {fileID: -8392393903099103772}
   - {fileID: -8392393903099103772}
   - {fileID: 7597280952754388909}
   - {fileID: 7597280952754388909}
   - {fileID: -4133211833681818352}
   - {fileID: -4133211833681818352}
+  - {fileID: 4715551344722035080}
   m_FixedDuration: 0
   m_FixedDuration: 0
   m_EditorSettings:
   m_EditorSettings:
     m_Framerate: 60
     m_Framerate: 60
@@ -423,6 +447,98 @@ MonoBehaviour:
   searchHierarchy: 1
   searchHierarchy: 1
   active: 1
   active: 1
   postPlayback: 2
   postPlayback: 2
+--- !u!114 &4715551344722035080
+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: 15e0374501f39d54eb30235764636e0e, type: 3}
+  m_Name: Control Track (2)
+  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: 2.25
+    m_ClipIn: 0
+    m_Asset: {fileID: -9174596349028513306}
+    m_Duration: 5
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: 4715551344722035080}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: 0
+    m_BlendOutDuration: 0
+    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: fx_ui_dujie_sd
+  m_Markers:
+    m_Objects: []
 --- !u!114 &6656762707459004628
 --- !u!114 &6656762707459004628
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -538,7 +654,7 @@ MonoBehaviour:
   m_Children: []
   m_Children: []
   m_Clips:
   m_Clips:
   - m_Version: 1
   - m_Version: 1
-    m_Start: 2
+    m_Start: 1.3
     m_ClipIn: 0
     m_ClipIn: 0
     m_Asset: {fileID: 2771148085318837006}
     m_Asset: {fileID: 2771148085318837006}
     m_Duration: 5
     m_Duration: 5

+ 0 - 9
Assets/Art/Environment/cj01.prefab

@@ -63,7 +63,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 4294967295
   m_RenderingLayerMask: 4294967295
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -185,7 +184,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -273,7 +271,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -394,7 +391,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -482,7 +478,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -570,7 +565,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -650,7 +644,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -746,7 +739,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:
@@ -843,7 +835,6 @@ MeshRenderer:
   m_virtualGeometry: 0
   m_virtualGeometry: 0
   m_virtualGeometryShadow: 0
   m_virtualGeometryShadow: 0
   m_ShadingRate: 0
   m_ShadingRate: 0
-  m_ForceDisableGRD: 0
   m_RenderingLayerMask: 1
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_RendererPriority: 0
   m_Materials:
   m_Materials:

+ 1 - 1
Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat

@@ -57,7 +57,7 @@ Material:
         m_Offset: {x: 0, y: 0}
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Ints: []
     m_Floats:
     m_Floats:
-    - _Alpha: 0
+    - _Alpha: 0.010265116
     - _AlphaCutoff: 0.5
     - _AlphaCutoff: 0.5
     - _ColorMask: 15
     - _ColorMask: 15
     - _EnableExternalAlpha: 0
     - _EnableExternalAlpha: 0

+ 2 - 2
Assets/Art/VFX/Materials/UIMat/ui_renwu_lg.mat

@@ -57,13 +57,13 @@ Material:
         m_Offset: {x: 0, y: 0}
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Ints: []
     m_Floats:
     m_Floats:
-    - _Alpha: 0.042883515
+    - _Alpha: 0.15635878
     - _AlphaCutoff: 0.5
     - _AlphaCutoff: 0.5
     - _ColorMask: 15
     - _ColorMask: 15
     - _EnableExternalAlpha: 0
     - _EnableExternalAlpha: 0
     - _MainSpeedU: 0.5
     - _MainSpeedU: 0.5
     - _MainSpeedV: 0.5
     - _MainSpeedV: 0.5
-    - _MainTexOffsetU: 0.4539436
+    - _MainTexOffsetU: 0.26735592
     - _MainTexOffsetV: 0
     - _MainTexOffsetV: 0
     - _MainTilingU: 0.8
     - _MainTilingU: 0.8
     - _MainTilingV: 1
     - _MainTilingV: 1

File diff suppressed because it is too large
+ 1359 - 19
Assets/Art/cs3.scene


+ 3 - 3
Assets/Res/Config/BuffConfig.json

@@ -43,7 +43,7 @@
     {
     {
       "ID": 10031,
       "ID": 10031,
       "nameTest": "毒",
       "nameTest": "毒",
-      "decTest": "每层毒对敌人每秒成{0}%木属性伤害,{1}层毒时毒气会入侵五脏,敌人每使用一次功法对应功法的伤势增加1",
+      "decTest": "每层毒对敌人每秒成{0}%木属性伤害,{1}层毒时毒气会入侵五脏,敌人每使用一次功法对应功法的伤势增加1",
       "icon": "icon_b1003",
       "icon": "icon_b1003",
       "buffName": 10723,
       "buffName": 10723,
       "buffEffectDes": 10756,
       "buffEffectDes": 10756,
@@ -65,7 +65,7 @@
     {
     {
       "ID": 10051,
       "ID": 10051,
       "nameTest": "灼热",
       "nameTest": "灼热",
-      "decTest": "对敌人成{0}火属性灼烧伤害,满层时敌人会受到痛苦,敌人使用功法时自身受到当前生命{1}%伤害",
+      "decTest": "对敌人成{0}火属性灼烧伤害,满层时敌人会受到痛苦,敌人使用功法时自身受到当前生命{1}%伤害",
       "icon": "icon_b1005",
       "icon": "icon_b1005",
       "buffName": 10725,
       "buffName": 10725,
       "buffEffectDes": 10758,
       "buffEffectDes": 10758,
@@ -248,7 +248,7 @@
     {
     {
       "ID": 10161,
       "ID": 10161,
       "nameTest": "冰魄牢域",
       "nameTest": "冰魄牢域",
-      "decTest": "乌龟的技能,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,\n寒气每叠到{0}层时,消耗所有层寒气对敌人成{0}秒的冰冻效果",
+      "decTest": "乌龟的技能,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,\n寒气每叠到{0}层时,消耗所有层寒气对敌人成{0}秒的冰冻效果",
       "icon": "icon_b1016",
       "icon": "icon_b1016",
       "buffName": 10736,
       "buffName": 10736,
       "buffEffectDes": 10769,
       "buffEffectDes": 10769,

+ 1 - 1
Assets/Res/Config/EventConfig.json

@@ -6382,7 +6382,7 @@
         3
         3
       ],
       ],
       "EventValue": [
       "EventValue": [
-        30023,
+        9141,
         101
         101
       ],
       ],
       "EventName": 4277,
       "EventName": 4277,

+ 47 - 31
Assets/Res/Config/LanguageChineseConfig.json

@@ -2866,7 +2866,7 @@
     },
     },
     {
     {
       "ID": 717,
       "ID": 717,
-      "txt": "伤害很高)(前摇时间长):很多剑从远处汇聚到boss周围,然后以一字行快速贯穿目标对目标成{0}伤害,每命中目标肉体{1}次防御削减{2}%,目标肉体{3}次所有伤势+{4}  \n,如果目标上有剑毅,每丙剑消耗{5}层剑毅让敌人受到{6}额外的伤害"
+      "txt": "伤害很高)(前摇时间长):很多剑从远处汇聚到boss周围,然后以一字行快速贯穿目标对目标成{0}伤害,每命中目标肉体{1}次防御削减{2}%,目标肉体{3}次所有伤势+{4}  \n,如果目标上有剑毅,每丙剑消耗{5}层剑毅让敌人受到{6}额外的伤害"
     },
     },
     {
     {
       "ID": 718,
       "ID": 718,
@@ -2878,11 +2878,11 @@
     },
     },
     {
     {
       "ID": 720,
       "ID": 720,
-      "txt": "发射2丙剑,对敌人成{0}伤害"
+      "txt": "发射2丙剑,对敌人成{0}伤害"
     },
     },
     {
     {
       "ID": 721,
       "ID": 721,
-      "txt": "发射2丙剑,对敌人成{0}伤害"
+      "txt": "发射2丙剑,对敌人成{0}伤害"
     },
     },
     {
     {
       "ID": 722,
       "ID": 722,
@@ -7986,19 +7986,19 @@
     },
     },
     {
     {
       "ID": 1997,
       "ID": 1997,
-      "txt": "赠送铜钱"
+      "txt": "赠送灵石"
     },
     },
     {
     {
       "ID": 1998,
       "ID": 1998,
-      "txt": "赠送铜钱"
+      "txt": "赠送灵石"
     },
     },
     {
     {
       "ID": 1999,
       "ID": 1999,
-      "txt": "赠送铜钱"
+      "txt": "赠送灵石"
     },
     },
     {
     {
       "ID": 2000,
       "ID": 2000,
-      "txt": "赠送铜钱"
+      "txt": "赠送灵石"
     },
     },
     {
     {
       "ID": 2001,
       "ID": 2001,
@@ -8018,19 +8018,19 @@
     },
     },
     {
     {
       "ID": 2005,
       "ID": 2005,
-      "txt": "赠送灵"
+      "txt": "赠送灵"
     },
     },
     {
     {
       "ID": 2006,
       "ID": 2006,
-      "txt": "赠送灵"
+      "txt": "赠送灵"
     },
     },
     {
     {
       "ID": 2007,
       "ID": 2007,
-      "txt": "赠送灵"
+      "txt": "赠送灵"
     },
     },
     {
     {
       "ID": 2008,
       "ID": 2008,
-      "txt": "赠送灵"
+      "txt": "赠送灵"
     },
     },
     {
     {
       "ID": 2009,
       "ID": 2009,
@@ -8050,19 +8050,19 @@
     },
     },
     {
     {
       "ID": 2013,
       "ID": 2013,
-      "txt": "这位道友离开时会给与玩家少量铜钱奖励"
+      "txt": "这位道友离开时会给与玩家少量灵石奖励"
     },
     },
     {
     {
       "ID": 2014,
       "ID": 2014,
-      "txt": "这位道友离开时会给与玩家一些铜钱奖励"
+      "txt": "这位道友离开时会给与玩家一些灵石奖励"
     },
     },
     {
     {
       "ID": 2015,
       "ID": 2015,
-      "txt": "这位道友离开时会给与玩家很多铜钱奖励"
+      "txt": "这位道友离开时会给与玩家很多灵石奖励"
     },
     },
     {
     {
       "ID": 2016,
       "ID": 2016,
-      "txt": "这位道友离开时会给与玩家丰厚铜钱奖励"
+      "txt": "这位道友离开时会给与玩家丰厚灵石奖励"
     },
     },
     {
     {
       "ID": 2017,
       "ID": 2017,
@@ -8082,19 +8082,19 @@
     },
     },
     {
     {
       "ID": 2021,
       "ID": 2021,
-      "txt": "这位道友离开时会给与玩家少量法宝灵奖励"
+      "txt": "这位道友离开时会给与玩家少量法宝灵奖励"
     },
     },
     {
     {
       "ID": 2022,
       "ID": 2022,
-      "txt": "这位道友离开时会给与玩家一些法宝灵奖励"
+      "txt": "这位道友离开时会给与玩家一些法宝灵奖励"
     },
     },
     {
     {
       "ID": 2023,
       "ID": 2023,
-      "txt": "这位道友离开时会给与玩家很多法宝灵奖励"
+      "txt": "这位道友离开时会给与玩家很多法宝灵奖励"
     },
     },
     {
     {
       "ID": 2024,
       "ID": 2024,
-      "txt": "这位道友离开时会给与玩家丰厚法宝灵奖励"
+      "txt": "这位道友离开时会给与玩家丰厚法宝灵奖励"
     },
     },
     {
     {
       "ID": 2025,
       "ID": 2025,
@@ -12126,7 +12126,7 @@
     },
     },
     {
     {
       "ID": 3032,
       "ID": 3032,
-      "txt": "毒专精:毒成的伤害+{0}%,且蔓延速度加快{1}%"
+      "txt": "毒专精:毒成的伤害+{0}%,且蔓延速度加快{1}%"
     },
     },
     {
     {
       "ID": 3033,
       "ID": 3033,
@@ -12546,7 +12546,7 @@
     },
     },
     {
     {
       "ID": 3137,
       "ID": 3137,
-      "txt": "星辰道启动期间释放的功法带有星辰之力,对敌人额外成30%当前伤害"
+      "txt": "星辰道启动期间释放的功法带有星辰之力,对敌人额外成30%当前伤害"
     },
     },
     {
     {
       "ID": 3138,
       "ID": 3138,
@@ -12582,7 +12582,7 @@
     },
     },
     {
     {
       "ID": 3146,
       "ID": 3146,
-      "txt": "毒成的伤害+2%,且蔓延速度加快5%"
+      "txt": "毒成的伤害+2%,且蔓延速度加快5%"
     },
     },
     {
     {
       "ID": 3147,
       "ID": 3147,
@@ -12602,7 +12602,7 @@
     },
     },
     {
     {
       "ID": 3151,
       "ID": 3151,
-      "txt": "毒成的伤害+1%,且蔓延速度加快2%"
+      "txt": "毒成的伤害+1%,且蔓延速度加快2%"
     },
     },
     {
     {
       "ID": 3152,
       "ID": 3152,
@@ -37878,7 +37878,7 @@
     },
     },
     {
     {
       "ID": 10210,
       "ID": 10210,
-      "txt": "功法数量:{0}/{1}"
+      "txt": "主动功法:{0}/{1}"
     },
     },
     {
     {
       "ID": 10211,
       "ID": 10211,
@@ -39198,19 +39198,19 @@
     },
     },
     {
     {
       "ID": 10540,
       "ID": 10540,
-      "txt": "毒成的伤害+3%,且蔓延速度加快10%"
+      "txt": "毒成的伤害+3%,且蔓延速度加快10%"
     },
     },
     {
     {
       "ID": 10541,
       "ID": 10541,
-      "txt": "毒成的伤害+4%,且蔓延速度加快15%"
+      "txt": "毒成的伤害+4%,且蔓延速度加快15%"
     },
     },
     {
     {
       "ID": 10542,
       "ID": 10542,
-      "txt": "毒成的伤害+5%,且蔓延速度加快20%"
+      "txt": "毒成的伤害+5%,且蔓延速度加快20%"
     },
     },
     {
     {
       "ID": 10543,
       "ID": 10543,
-      "txt": "毒成的伤害+6%,且蔓延速度加快25%"
+      "txt": "毒成的伤害+6%,且蔓延速度加快25%"
     },
     },
     {
     {
       "ID": 10544,
       "ID": 10544,
@@ -40062,7 +40062,7 @@
     },
     },
     {
     {
       "ID": 10756,
       "ID": 10756,
-      "txt": "每层毒对敌人每秒成{0}%木属性伤害,{1}层毒时毒气会入侵五脏,敌人每使用一次功法对应功法的伤势增加1"
+      "txt": "每层毒对敌人每秒成{0}%木属性伤害,{1}层毒时毒气会入侵五脏,敌人每使用一次功法对应功法的伤势增加1"
     },
     },
     {
     {
       "ID": 10757,
       "ID": 10757,
@@ -40070,7 +40070,7 @@
     },
     },
     {
     {
       "ID": 10758,
       "ID": 10758,
-      "txt": "对敌人成{0}火属性灼烧伤害,满层时敌人会受到痛苦,敌人使用功法时自身受到当前生命{1}%伤害"
+      "txt": "对敌人成{0}火属性灼烧伤害,满层时敌人会受到痛苦,敌人使用功法时自身受到当前生命{1}%伤害"
     },
     },
     {
     {
       "ID": 10759,
       "ID": 10759,
@@ -40114,7 +40114,7 @@
     },
     },
     {
     {
       "ID": 10769,
       "ID": 10769,
-      "txt": "乌龟的技能,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,\n寒气每叠到{0}层时,消耗所有层寒气对敌人成{0}秒的冰冻效果"
+      "txt": "乌龟的技能,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,\n寒气每叠到{0}层时,消耗所有层寒气对敌人成{0}秒的冰冻效果"
     },
     },
     {
     {
       "ID": 10770,
       "ID": 10770,
@@ -40303,6 +40303,22 @@
     {
     {
       "ID": 10816,
       "ID": 10816,
       "txt": "任务"
       "txt": "任务"
+    },
+    {
+      "ID": 10817,
+      "txt": "上传后覆盖远程记录,确认吗?"
+    },
+    {
+      "ID": 10818,
+      "txt": "下载后覆盖本地记录,确认吗?"
+    },
+    {
+      "ID": 10819,
+      "txt": "游戏已发布新版本,请前往您的应用商店下载新版本"
+    },
+    {
+      "ID": 10820,
+      "txt": "挂机修为已达上限."
     }
     }
   ]
   ]
 }
 }

+ 24 - 24
Assets/Res/Config/LanguageChineseConfig_skill.json

@@ -3318,27 +3318,27 @@
     },
     },
     {
     {
       "ID": 1190010,
       "ID": 1190010,
-      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
+      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
     },
     },
     {
     {
       "ID": 1190011,
       "ID": 1190011,
-      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
+      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
     },
     },
     {
     {
       "ID": 1190012,
       "ID": 1190012,
-      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
+      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
     },
     },
     {
     {
       "ID": 1190013,
       "ID": 1190013,
-      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
+      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
     },
     },
     {
     {
       "ID": 1190014,
       "ID": 1190014,
-      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
+      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
     },
     },
     {
     {
       "ID": 1190015,
       "ID": 1190015,
-      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
+      "txt": "(前摇时间长):最多从汇聚10柄剑到自身周围,然后以一字行快速贯穿目标对目标成{0}%攻击力的伤害,每命中目标肉体{1}次将削减{2}%的防御,目标肉体{3}次则所有伤势+{4}  ,如果目标上有剑意,每柄剑消耗{5}层剑意让敌人受到额外{6}%的伤害"
     },
     },
     {
     {
       "ID": 1190020,
       "ID": 1190020,
@@ -3370,51 +3370,51 @@
     },
     },
     {
     {
       "ID": 1190040,
       "ID": 1190040,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190041,
       "ID": 1190041,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190042,
       "ID": 1190042,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190043,
       "ID": 1190043,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190044,
       "ID": 1190044,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190045,
       "ID": 1190045,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190050,
       "ID": 1190050,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190051,
       "ID": 1190051,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190052,
       "ID": 1190052,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190053,
       "ID": 1190053,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190054,
       "ID": 1190054,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190055,
       "ID": 1190055,
-      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
+      "txt": "发射3柄剑,对敌人成{0}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190110,
       "ID": 1190110,
@@ -3466,27 +3466,27 @@
     },
     },
     {
     {
       "ID": 1190130,
       "ID": 1190130,
-      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
+      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190131,
       "ID": 1190131,
-      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
+      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190132,
       "ID": 1190132,
-      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
+      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190133,
       "ID": 1190133,
-      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
+      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190134,
       "ID": 1190134,
-      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
+      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190135,
       "ID": 1190135,
-      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
+      "txt": "凤凰在血量还剩{0}%的时触发,寒气笼罩自身5秒,期间凤凰免疫任何伤害,并慢慢回血,直到恢复满,恢复满后凤凰所有灵根增加{1}。冰块爆开,生成一个冲击波,对当前场上所有的弹道成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{2}枚冰锥冲向敌人造成{3}%攻击力的伤害"
     },
     },
     {
     {
       "ID": 1190140,
       "ID": 1190140,

+ 20 - 20
Assets/Res/Config/SentimentEffectConfig.json

@@ -127,8 +127,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 3141,
       "massge": 3141,
       "pos": 1,
       "pos": 1,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 1,
       "effectType": 1,
       "effectVale": [
       "effectVale": [
         2
         2
@@ -144,8 +144,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10520,
       "massge": 10520,
       "pos": 1,
       "pos": 1,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 1,
       "effectType": 1,
       "effectVale": [
       "effectVale": [
         3
         3
@@ -161,8 +161,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10521,
       "massge": 10521,
       "pos": 1,
       "pos": 1,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 1,
       "effectType": 1,
       "effectVale": [
       "effectVale": [
         4
         4
@@ -178,8 +178,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10522,
       "massge": 10522,
       "pos": 1,
       "pos": 1,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 1,
       "effectType": 1,
       "effectVale": [
       "effectVale": [
         5
         5
@@ -195,8 +195,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10523,
       "massge": 10523,
       "pos": 1,
       "pos": 1,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 1,
       "effectType": 1,
       "effectVale": [
       "effectVale": [
         6
         6
@@ -297,8 +297,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 3143,
       "massge": 3143,
       "pos": 3,
       "pos": 3,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 7,
       "effectType": 7,
       "effectVale": [
       "effectVale": [
         2
         2
@@ -314,8 +314,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10528,
       "massge": 10528,
       "pos": 3,
       "pos": 3,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 7,
       "effectType": 7,
       "effectVale": [
       "effectVale": [
         3
         3
@@ -331,8 +331,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10529,
       "massge": 10529,
       "pos": 3,
       "pos": 3,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 7,
       "effectType": 7,
       "effectVale": [
       "effectVale": [
         4
         4
@@ -348,8 +348,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10530,
       "massge": 10530,
       "pos": 3,
       "pos": 3,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 7,
       "effectType": 7,
       "effectVale": [
       "effectVale": [
         5
         5
@@ -365,8 +365,8 @@
       "icon": "icon",
       "icon": "icon",
       "massge": 10531,
       "massge": 10531,
       "pos": 3,
       "pos": 3,
-      "lastSentimentEffectId": -1,
-      "unlockLevel": 0,
+      "lastSentimentEffectId": 1,
+      "unlockLevel": 1,
       "effectType": 7,
       "effectType": 7,
       "effectVale": [
       "effectVale": [
         6
         6

+ 1 - 1
Assets/Res/UI/Canvas/Canvas.prefab

@@ -262,7 +262,7 @@ MonoBehaviour:
   m_ScaleFactor: 1
   m_ScaleFactor: 1
   m_ReferenceResolution: {x: 750, y: 1624}
   m_ReferenceResolution: {x: 750, y: 1624}
   m_ScreenMatchMode: 0
   m_ScreenMatchMode: 0
-  m_MatchWidthOrHeight: 1
+  m_MatchWidthOrHeight: 0
   m_PhysicalUnit: 3
   m_PhysicalUnit: 3
   m_FallbackScreenDPI: 96
   m_FallbackScreenDPI: 96
   m_DefaultSpriteDPI: 96
   m_DefaultSpriteDPI: 96

+ 4 - 4
Assets/Scenes/testCombat.scene

@@ -156,7 +156,7 @@ MonoBehaviour:
   m_Name: 
   m_Name: 
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
   ShaderVariantCollection: {fileID: 20000000, guid: 3536136831feec548bbaa7febad775f8, type: 2}
   ShaderVariantCollection: {fileID: 20000000, guid: 3536136831feec548bbaa7febad775f8, type: 2}
-  LoadType: 1
+  LoadType: 0
   h5Url: http://127.0.0.1:8000
   h5Url: http://127.0.0.1:8000
   isOpenHotFix: 0
   isOpenHotFix: 0
   isLoadDll: 0
   isLoadDll: 0
@@ -773,7 +773,7 @@ MonoBehaviour:
   m_ScaleFactor: 1
   m_ScaleFactor: 1
   m_ReferenceResolution: {x: 750, y: 1624}
   m_ReferenceResolution: {x: 750, y: 1624}
   m_ScreenMatchMode: 0
   m_ScreenMatchMode: 0
-  m_MatchWidthOrHeight: 1
+  m_MatchWidthOrHeight: 0
   m_PhysicalUnit: 3
   m_PhysicalUnit: 3
   m_FallbackScreenDPI: 96
   m_FallbackScreenDPI: 96
   m_DefaultSpriteDPI: 96
   m_DefaultSpriteDPI: 96
@@ -1237,7 +1237,7 @@ MonoBehaviour:
   m_OnValueChanged:
   m_OnValueChanged:
     m_PersistentCalls:
     m_PersistentCalls:
       m_Calls: []
       m_Calls: []
---- !u!213 &1477443412
+--- !u!213 &1555479024
 Sprite:
 Sprite:
   m_ObjectHideFlags: 0
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -1510,7 +1510,7 @@ MonoBehaviour:
   m_OnCullStateChanged:
   m_OnCullStateChanged:
     m_PersistentCalls:
     m_PersistentCalls:
       m_Calls: []
       m_Calls: []
-  m_Sprite: {fileID: 1477443412}
+  m_Sprite: {fileID: 1555479024}
   m_Type: 0
   m_Type: 0
   m_PreserveAspect: 0
   m_PreserveAspect: 0
   m_FillCenter: 1
   m_FillCenter: 1

+ 23 - 7
Assets/Scripts/Core/Editor/BuildEtitor/BuildEditor.cs

@@ -10,6 +10,7 @@ using ICSharpCode.SharpZipLib.Checksum;
 using ICSharpCode.SharpZipLib.Zip;
 using ICSharpCode.SharpZipLib.Zip;
 using UnityEditor;
 using UnityEditor;
 using UnityEngine;
 using UnityEngine;
+using UnityFS;
 
 
 namespace Fort23.Editor
 namespace Fort23.Editor
 {
 {
@@ -133,10 +134,9 @@ namespace Fort23.Editor
         private static void Build(PlatformType type, BuildAssetBundleOptions buildAssetBundleOptions,
         private static void Build(PlatformType type, BuildAssetBundleOptions buildAssetBundleOptions,
             BuildOptions buildOptions, bool isBuildExe, bool isContainAB, bool clearFolder)
             BuildOptions buildOptions, bool isBuildExe, bool isContainAB, bool clearFolder)
         {
         {
-           
             AssetDatabase.Refresh();
             AssetDatabase.Refresh();
             var buildTarget = BuildTarget.StandaloneWindows;
             var buildTarget = BuildTarget.StandaloneWindows;
-            var exeName = "release";
+            var exeName = Application.version;
             switch (type)
             switch (type)
             {
             {
                 case PlatformType.PC:
                 case PlatformType.PC:
@@ -158,7 +158,7 @@ namespace Fort23.Editor
                     break;
                     break;
             }
             }
 
 
-         
+
             var build = string.Format(buildFolder, type,
             var build = string.Format(buildFolder, type,
                 $"{1}.{1}.{1}");
                 $"{1}.{1}.{1}");
             string bundlePath = string.Format(bundleFolder, type);
             string bundlePath = string.Format(bundleFolder, type);
@@ -196,7 +196,7 @@ namespace Fort23.Editor
             AssetBundleEditor.BuildAllBundle(buildTarget);
             AssetBundleEditor.BuildAllBundle(buildTarget);
             LogTool.Log("资源标记完成");
             LogTool.Log("资源标记完成");
             AssetBundleBuild[] buildMap = new AssetBundleBuild[1];
             AssetBundleBuild[] buildMap = new AssetBundleBuild[1];
-            
+
             BuildPipeline.BuildAssetBundles(bundlePath, buildAssetBundleOptions, buildTarget);
             BuildPipeline.BuildAssetBundles(bundlePath, buildAssetBundleOptions, buildTarget);
             var assetMd5Info = new AssetMD5Info(new List<MD5FileInfo>());
             var assetMd5Info = new AssetMD5Info(new List<MD5FileInfo>());
             var allBundles = Directory.GetFiles(bundlePath);
             var allBundles = Directory.GetFiles(bundlePath);
@@ -208,7 +208,7 @@ namespace Fort23.Editor
                 string fileName = fileInfo.Name;
                 string fileName = fileInfo.Name;
                 if (fileInfo.Name.Equals("UnityBundle"))
                 if (fileInfo.Name.Equals("UnityBundle"))
                 {
                 {
-                    fileName="UnityBundle.unity3d";
+                    fileName = "UnityBundle.unity3d";
                 }
                 }
 
 
                 // data = DllTool.KeyEncryption(data);
                 // data = DllTool.KeyEncryption(data);
@@ -245,7 +245,6 @@ namespace Fort23.Editor
                 md5Info.size = fileInfo.Length;
                 md5Info.size = fileInfo.Length;
                 md5Info.fileName = Path.GetFileName(assetConfigPath);
                 md5Info.fileName = Path.GetFileName(assetConfigPath);
                 assetMd5Info.fileInfo.Add(md5Info);
                 assetMd5Info.fileInfo.Add(md5Info);
-                
             }
             }
 
 
             LogTool.Log("完成资源打包");
             LogTool.Log("完成资源打包");
@@ -277,11 +276,28 @@ namespace Fort23.Editor
 
 
             if (isBuildExe)
             if (isBuildExe)
             {
             {
+                string path = $"{relativeDirPrefix}/{Application.version}";
+                string apkPath = $"{path}/{exeName}";
                 AssetDatabase.Refresh();
                 AssetDatabase.Refresh();
                 LogTool.Log("开始EXE打包");
                 LogTool.Log("开始EXE打包");
                 SaveGroup();
                 SaveGroup();
-                BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, $"{relativeDirPrefix}/{exeName}", buildTarget, buildOptions);
+                BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, apkPath, buildTarget, buildOptions);
                 LogTool.Log("完成exe打包");
                 LogTool.Log("完成exe打包");
+                var assetMd5Info1 = new AssetMD5Info(new List<MD5FileInfo>());
+                var md5Info = new MD5FileInfo();
+                using (FileStream file = new FileStream(apkPath, FileMode.Open))
+                {
+                    md5Info.size = file.Length;
+                    var data = file.ReadAllBytes();
+                    md5Info.md5 = MD5Helper.FileMD5(data);
+                }
+
+                md5Info.fileName = Path.GetFileName(apkPath);
+                assetMd5Info1.fileInfo.Add(md5Info);
+
+                var md5Json1 = JsonHelper.ToJson(assetMd5Info1);
+                File.WriteAllText(path + "/MD5.txt", md5Json1);
+
                 string url = Application.dataPath.Split("Assets")[0] + relativeDirPrefix.Split("./")[1];
                 string url = Application.dataPath.Split("Assets")[0] + relativeDirPrefix.Split("./")[1];
                 Application.OpenURL(url);
                 Application.OpenURL(url);
             }
             }

+ 22 - 5
Assets/Scripts/Core/Editor/HybridCLR/BuildAssetsCommand.cs

@@ -23,7 +23,7 @@ namespace HybridCLR.Editor
             var build = Application.streamingAssetsPath + "/Dll/";
             var build = Application.streamingAssetsPath + "/Dll/";
             if (Directory.Exists(build))
             if (Directory.Exists(build))
             {
             {
-                Directory.Delete(build,true);
+                Directory.Delete(build, true);
             }
             }
 
 
             Directory.CreateDirectory(build);
             Directory.CreateDirectory(build);
@@ -46,6 +46,8 @@ namespace HybridCLR.Editor
 
 
             var md5Json = JsonHelper.ToJson(assetMd5Info);
             var md5Json = JsonHelper.ToJson(assetMd5Info);
             File.WriteAllText(build + "DllMD5.txt", md5Json);
             File.WriteAllText(build + "DllMD5.txt", md5Json);
+
+
             LogTool.Log("MD5文件生成完成");
             LogTool.Log("MD5文件生成完成");
             PlatformType platformType;
             PlatformType platformType;
 #if UNITY_ANDROID
 #if UNITY_ANDROID
@@ -59,8 +61,22 @@ namespace HybridCLR.Editor
 #else
 #else
 			platformType = PlatformType.None;
 			platformType = PlatformType.None;
 #endif
 #endif
-           // var build = Application.streamingAssetsPath;
-            // BuildAndCopyAOTHotUpdateDlls(build);
+
+
+            var build1 = string.Format(BuildEditor.buildDllFolder, platformType,
+                $"{1}.{1}.{1}");
+            foreach (var bundle in allBundles)
+            {
+                if (bundle.Contains(".manifest")) continue;
+                var fileInfo = new FileInfo(bundle);
+                byte[] data = File.ReadAllBytes(bundle);
+                string fileName = fileInfo.Name;
+                string p = build1 + fileName;
+
+                File.WriteAllBytes(p, data);
+            }
+
+            File.WriteAllText(build1 + "DllMD5.txt", md5Json);
             AssetDatabase.SaveAssets();
             AssetDatabase.SaveAssets();
             AssetDatabase.Refresh();
             AssetDatabase.Refresh();
         }
         }
@@ -112,6 +128,7 @@ namespace HybridCLR.Editor
             {
             {
                 Directory.CreateDirectory(buildDstDir);
                 Directory.CreateDirectory(buildDstDir);
             }
             }
+
             BuildTarget target = EditorUserBuildSettings.activeBuildTarget;
             BuildTarget target = EditorUserBuildSettings.activeBuildTarget;
             PrebuildCommandExt.CompileAndObfuscateDll();
             PrebuildCommandExt.CompileAndObfuscateDll();
             // ObfuscateUtil.CompileAndObfuscateHotUpdateAssemblies(target);
             // ObfuscateUtil.CompileAndObfuscateHotUpdateAssemblies(target);
@@ -146,8 +163,8 @@ namespace HybridCLR.Editor
                 Debug.Log($"[CopyAOTAssembliesToStreamingAssets] copy AOT dll {srcDllPath} -> {dllBytesPath}");
                 Debug.Log($"[CopyAOTAssembliesToStreamingAssets] copy AOT dll {srcDllPath} -> {dllBytesPath}");
             }
             }
         }
         }
-        
-        
+
+
         // [MenuItem("Build/CompileAndObfuscateAndCopyToStreamingAssets")]
         // [MenuItem("Build/CompileAndObfuscateAndCopyToStreamingAssets")]
         // public static void CompileAndObfuscateAndCopyToStreamingAssets()
         // public static void CompileAndObfuscateAndCopyToStreamingAssets()
         // {
         // {

+ 22 - 1
Assets/Scripts/Core/Log/LogServer.cs

@@ -16,12 +16,13 @@ public class LogServer : Singleton<LogServer>
     public string version;
     public string version;
     private string deviceModel;
     private string deviceModel;
     private string operatingSystem;
     private string operatingSystem;
+    private Dictionary<string, float> _hashDic = new Dictionary<string, float>();
 
 
     public void Init(string gameName)
     public void Init(string gameName)
     {
     {
         this.gameName = gameName;
         this.gameName = gameName;
         version = Application.version;
         version = Application.version;
-        deviceModel = SystemInfo.deviceName + "  " + SystemInfo.deviceModel+"   "+SystemInfo.deviceUniqueIdentifier;
+        deviceModel = SystemInfo.deviceName + "  " + SystemInfo.deviceModel + "   " + SystemInfo.deviceUniqueIdentifier;
         operatingSystem = SystemInfo.operatingSystem;
         operatingSystem = SystemInfo.operatingSystem;
     }
     }
 
 
@@ -71,6 +72,26 @@ public class LogServer : Singleton<LogServer>
 
 
     private async Task UpdatToServer(LogServeData logServeData)
     private async Task UpdatToServer(LogServeData logServeData)
     {
     {
+        float ct = Time.time;
+        if (_hashDic.Count > 200)
+        {
+            _hashDic.Clear();
+        }
+
+        if (_hashDic.TryGetValue(logServeData.hash, out float t))
+        {
+            if ((ct - t) < 10)
+            {
+                return;
+            }
+
+            _hashDic[logServeData.hash] = ct;
+        }
+        else
+        {
+            _hashDic.Add(logServeData.hash, t);
+        }
+
         string json = LitJson.JsonMapper.ToJson(logServeData);
         string json = LitJson.JsonMapper.ToJson(logServeData);
         byte[] logData = Encoding.UTF8.GetBytes(json);
         byte[] logData = Encoding.UTF8.GetBytes(json);
         using var httpClient = new HttpClient();
         using var httpClient = new HttpClient();

+ 1 - 1
Assets/Scripts/GameData/ExcelConfig/SentimentEffectConfig.cs

@@ -85,7 +85,7 @@ namespace Excel2Json
 		
 		
 
 
 		/// <summary>
 		/// <summary>
-		///前置条件 (-1是主属性)
+		///前置条件 (1是主属性)
 		/// </summary>
 		/// </summary>
 #if !COMBAT_SERVER
 #if !COMBAT_SERVER
 		public int lastSentimentEffectId;
 		public int lastSentimentEffectId;

+ 6 - 53
Assets/Scripts/GameLogic/Bag/BagController.cs

@@ -39,61 +39,9 @@ namespace GameLogic.Bag
             }
             }
         }
         }
 
 
-        #region 快速添加和扣除常用道具
 
 
-        /// <summary>
-        /// 加金币
-        /// </summary>
-        /// <param name="count"></param>
-        public void AddCoin(long count)
-        {
-            AddItem(GlobalParam.Item_Coin_ID, count);
-        }
 
 
-        /// <summary>
-        /// 扣金币
-        /// </summary>
-        /// <param name="count"></param>
-        public bool DeductCoin(long count)
-        {
-            return DeductItem(GlobalParam.Item_Coin_ID, count);
-        }
-
-        /// <summary>
-        /// 加钻石
-        /// </summary>
-        /// <param name="count"></param>
-        public void AddDiamond(long count)
-        {
-            AddItem(GlobalParam.Item_Diamond_ID, count);
-        }
 
 
-        /// <summary>
-        /// 扣钻石
-        /// </summary>
-        /// <param name="count"></param>
-        public bool DeductDiamond(long count)
-        {
-            return DeductItem(GlobalParam.Item_Diamond_ID, count);
-        }
-
-        /// <summary>
-        /// 加英雄经验
-        /// </summary>
-        /// <param name="count"></param>
-        public void AddHeroExp(long count)
-        {
-            AddItem(GlobalParam.Item_HeroExp_ID, count);
-        }
-
-        /// <summary>
-        /// 扣英雄经验
-        /// </summary>
-        /// <param name="count"></param>
-        public bool DuctHeroExp(long count)
-        {
-            return DeductItem(GlobalParam.Item_HeroExp_ID, count);
-        }
 
 
 
 
         /// <summary>
         /// <summary>
@@ -131,7 +79,6 @@ namespace GameLogic.Bag
             return IsEnough(item, count);
             return IsEnough(item, count);
         }
         }
 
 
-        #endregion
 
 
         public bool AddItem(int itemId, long count, string guid = "")
         public bool AddItem(int itemId, long count, string guid = "")
         {
         {
@@ -195,10 +142,12 @@ namespace GameLogic.Bag
                 if (faaData != null)
                 if (faaData != null)
                 {
                 {
                     // item.isSuiPian = true;
                     // item.isSuiPian = true;
+                    //TODO 转碎片
                     return AddItem(item.config.associateVlaue[0], item.config.associateVlaue[2] * count);
                     return AddItem(item.config.associateVlaue[0], item.config.associateVlaue[2] * count);
                 }
                 }
                 else
                 else
                 {
                 {
+                    //TODO 完全体
                     faaData = new AccountFileInfo.FaBaoData();
                     faaData = new AccountFileInfo.FaBaoData();
                     faaData.id = item.config.associateVlaue[1];
                     faaData.id = item.config.associateVlaue[1];
                     faaData.level = 1;
                     faaData.level = 1;
@@ -218,10 +167,12 @@ namespace GameLogic.Bag
                 if (skillData != null)
                 if (skillData != null)
                 {
                 {
                     // item.isSuiPian = true;
                     // item.isSuiPian = true;
+                    //TODO 转碎片
                     return AddItem(item.config.associateVlaue[0], item.config.associateVlaue[2] * count);
                     return AddItem(item.config.associateVlaue[0], item.config.associateVlaue[2] * count);
                 }
                 }
                 else
                 else
                 {
                 {
+                    //TODO 完全体
                     skillData = new AccountFileInfo.SkillData();
                     skillData = new AccountFileInfo.SkillData();
                     skillData.id = item.config.associateVlaue[1];
                     skillData.id = item.config.associateVlaue[1];
                     skillData.star = 1;
                     skillData.star = 1;
@@ -243,6 +194,7 @@ namespace GameLogic.Bag
             }
             }
             else if (item.config.itemTag == 9)
             else if (item.config.itemTag == 9)
             {
             {
+                //TODO 代金卷需要二次计算数量
                 return AddItem(item.config.associateVlaue[0], item.config.associateVlaue[1]);
                 return AddItem(item.config.associateVlaue[0], item.config.associateVlaue[1]);
             }
             }
             else if (item.config.itemTag == 28)
             else if (item.config.itemTag == 28)
@@ -270,6 +222,7 @@ namespace GameLogic.Bag
             {
             {
                 if (item.count >= item.config.associateVlaue[0])
                 if (item.count >= item.config.associateVlaue[0])
                 {
                 {
+                    //TODO 合成广告卡
                     AddItem(item.config.associateVlaue[1], 1);
                     AddItem(item.config.associateVlaue[1], 1);
                 }
                 }
             }
             }

+ 5 - 1
Assets/Scripts/GameLogic/Combat/Buff/BuffBasic.cs

@@ -263,6 +263,11 @@ namespace GameLogic.Combat.Buff
 
 
         public void DelectBuff()
         public void DelectBuff()
         {
         {
+            if (combatHeroEntity == null || combatHeroEntity.BuffControl == null)
+            {
+                return;
+            }
+
             combatHeroEntity.BuffControl.RemoveBuff(this);
             combatHeroEntity.BuffControl.RemoveBuff(this);
         }
         }
 
 
@@ -276,7 +281,6 @@ namespace GameLogic.Combat.Buff
                 combatHeroEntity.BuffControl.RemoveBuff(this);
                 combatHeroEntity.BuffControl.RemoveBuff(this);
                 return;
                 return;
             }
             }
-           
 
 
 
 
             UpdateEffect();
             UpdateEffect();

+ 4 - 5
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroEntity.cs

@@ -466,10 +466,9 @@ public class CombatHeroEntity : ShowBaiscEntity, ITimeLineAnimtion, ITimeLineGet
         }
         }
         heroMagicWeaponControl?.Dispose();
         heroMagicWeaponControl?.Dispose();
         _isDis = true;
         _isDis = true;
-        BuffControl.Dispose();
-        _isDis = true;
 
 
         CombatHeroSkillControl.Dispose();
         CombatHeroSkillControl.Dispose();
+        BuffControl.Dispose();
         CombatAIBasic.Dispose();
         CombatAIBasic.Dispose();
         combatHeroTimeLineControl.Dispose();
         combatHeroTimeLineControl.Dispose();
         combatHeroAnimtion.Dispose();
         combatHeroAnimtion.Dispose();
@@ -487,11 +486,11 @@ public class CombatHeroEntity : ShowBaiscEntity, ITimeLineAnimtion, ITimeLineGet
         }
         }
         heroMagicWeaponControl?.Dispose();
         heroMagicWeaponControl?.Dispose();
         _isDis = true;
         _isDis = true;
-        BuffControl.Dispose();
+       
         combatHeroGameObject.Dispose();
         combatHeroGameObject.Dispose();
         isDie = true;
         isDie = true;
         CombatHeroSkillControl.Dispose();
         CombatHeroSkillControl.Dispose();
-
+        BuffControl.Dispose();
         CombatAIBasic.Dispose();
         CombatAIBasic.Dispose();
         combatHeroTimeLineControl.Dispose();
         combatHeroTimeLineControl.Dispose();
         combatHeroAnimtion.Dispose();
         combatHeroAnimtion.Dispose();
@@ -503,7 +502,7 @@ public class CombatHeroEntity : ShowBaiscEntity, ITimeLineAnimtion, ITimeLineGet
 
 
     private void ProDormancyObj()
     private void ProDormancyObj()
     {
     {
-        CombatHeroSkillControl.ProDormancyObj();
+        CombatHeroSkillControl?.ProDormancyObj();
     }
     }
 
 
     public override void ActiveObj()
     public override void ActiveObj()

+ 25 - 2
Assets/Scripts/GameLogic/Hero/HeroInfo.cs

@@ -74,9 +74,9 @@ namespace GameLogic.Hero
             Dictionary<string, object> dictionary = new Dictionary<string, object>();
             Dictionary<string, object> dictionary = new Dictionary<string, object>();
             dictionary.Add("JingJie", heroData.heroPowerId.ToString());
             dictionary.Add("JingJie", heroData.heroPowerId.ToString());
             DBManager.Instance.CustomEvent("Hero_levelup", dictionary);
             DBManager.Instance.CustomEvent("Hero_levelup", dictionary);
-            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
 
 
-            float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
+
+            float allexp = GetGuaJiExp();
             heroData.exp += allexp;
             heroData.exp += allexp;
             heroData.exp -= powerUpConfig.levelUpExp;
             heroData.exp -= powerUpConfig.levelUpExp;
             heroData.upTime = TimeHelper.ClientNow();
             heroData.upTime = TimeHelper.ClientNow();
@@ -90,6 +90,29 @@ namespace GameLogic.Hero
             return this;
             return this;
         }
         }
 
 
+        public float GetGuaJiExp()
+        {
+            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
+            currentMiao = currentMiao > PlayerManager.Instance.gameConstantConfig.offlineexpMaxTime
+                ? PlayerManager.Instance.gameConstantConfig.offlineexpMaxTime
+                : currentMiao;
+            float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
+            return allexp;
+        }
+        
+        public float GetAllExp()
+        {
+
+            return GetGuaJiExp() + heroData.exp;
+        }
+    
+
+        public bool IsGuaijiShangXian()
+        {
+            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
+           return currentMiao >= PlayerManager.Instance.gameConstantConfig.offlineexpMaxTime;
+        }
+
         public void GetDaoLvBl()
         public void GetDaoLvBl()
         {
         {
             daolvBl.Clear();
             daolvBl.Clear();

+ 8 - 1
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -1,5 +1,6 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Linq;
 using Core.Audio;
 using Core.Audio;
 using Core.Language;
 using Core.Language;
@@ -79,7 +80,7 @@ public class PlayerManager : Singleton<PlayerManager>
     public void Init()
     public void Init()
     {
     {
         AccountFileInfo.Instance.LoadPlayerData();
         AccountFileInfo.Instance.LoadPlayerData();
-        LogServer.Instance.playerID= AccountFileInfo.Instance.playerData.playerId;
+        LogServer.Instance.playerID = AccountFileInfo.Instance.playerData.playerId;
         SetConfigs();
         SetConfigs();
 
 
         InitGameData();
         InitGameData();
@@ -484,6 +485,12 @@ public class PlayerManager : Singleton<PlayerManager>
     {
     {
         if (TimeHelper.ClientNow() > AccountFileInfo.Instance.playerData.nextRefence)
         if (TimeHelper.ClientNow() > AccountFileInfo.Instance.playerData.nextRefence)
         {
         {
+            //每天删一次日志
+            if (File.Exists(Path.Combine(Application.persistentDataPath, "GameLog.txt")))
+            {
+                File.Delete(Path.Combine(Application.persistentDataPath, "GameLog.txt"));
+            }
+
             AccountFileInfo.Instance.playerData.todayTotalAds = 0;
             AccountFileInfo.Instance.playerData.todayTotalAds = 0;
             AccountFileInfo.Instance.playerData.nextRefence =
             AccountFileInfo.Instance.playerData.nextRefence =
                 TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
                 TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());

+ 3 - 1
Assets/Scripts/GameLogic/Player/SummonManager.cs

@@ -109,6 +109,7 @@ namespace GameLogic.Player
                         if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID,
                         if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID,
                                 openBoxConfig.oneConsume) || openBoxConfig.CostItemID == 1007)
                                 openBoxConfig.oneConsume) || openBoxConfig.CostItemID == 1007)
                         {
                         {
+                            //TODO 消耗:抽功法 (count 1/10)
                             PlayerManager.Instance.BagController.DeductItem(openBoxConfig.CostItemID,
                             PlayerManager.Instance.BagController.DeductItem(openBoxConfig.CostItemID,
                                 openBoxConfig.oneConsume);
                                 openBoxConfig.oneConsume);
                         }
                         }
@@ -179,6 +180,7 @@ namespace GameLogic.Player
                         if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID,
                         if (PlayerManager.Instance.BagController.IsEnough(openBoxConfig.CostItemID,
                                 openBoxConfig.tenConsume) || openBoxConfig.CostItemID == 1007)
                                 openBoxConfig.tenConsume) || openBoxConfig.CostItemID == 1007)
                         {
                         {
+                            //TODO 消耗:抽功法 (count = 1 / 10)
                             PlayerManager.Instance.BagController.DeductItem(openBoxConfig.CostItemID,
                             PlayerManager.Instance.BagController.DeductItem(openBoxConfig.CostItemID,
                                 openBoxConfig.tenConsume);
                                 openBoxConfig.tenConsume);
                         }
                         }
@@ -250,7 +252,7 @@ namespace GameLogic.Player
                 // 检查是否触发保底2重置
                 // 检查是否触发保底2重置
                 CheckBaodi2Reset(summonData, normalItems, baodiItemSet);
                 CheckBaodi2Reset(summonData, normalItems, baodiItemSet);
             }
             }
-
+//TODO 抽卡:通过openBoxConfig判断来源
             PlayerManager.Instance.BagController.AddItem(allItem);
             PlayerManager.Instance.BagController.AddItem(allItem);
 
 
 
 

+ 1 - 1
Assets/Scripts/GameLogic/RedDot/RedDotData.cs

@@ -153,7 +153,7 @@ namespace Fort23.Mono
                         case 1:
                         case 1:
 
 
                             int currentMiao =
                             int currentMiao =
-                                (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) /
+                                (int)((PlayerManager.Instance.myHero.GetAllExp()) /
                                       1000);
                                       1000);
 
 
                             float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
                             float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;

+ 14 - 0
Assets/Scripts/GameLogic/SDK/DBManager.cs

@@ -1,5 +1,6 @@
 using System.Collections;
 using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using GameLogic.Bag;
 using UnityEngine;
 using UnityEngine;
 using Utility;
 using Utility;
 
 
@@ -27,5 +28,18 @@ public class DBManager : Singleton<DBManager>
     {
     {
         
         
     }
     }
+
+    public void GetItems(string source, List<ItemInfo> items)
+    {
+        Dictionary<string, object> properties = null;
+        CustomEvent("#get_items", properties);
+    }
+
+    public void CostItems(string source, List<ItemInfo> items)
+    {
+        Dictionary<string, object> properties = null;
+        CustomEvent("#cost_items", properties);
+        
+    }
     
     
 }
 }

+ 2 - 1
Assets/Scripts/GameLogic/Shop/ShopManger.cs

@@ -317,6 +317,7 @@ public class ShopManger : Singleton<ShopManger>
         }
         }
         else
         else
         {
         {
+            //TODO 消耗:商店购买 (ps:可能是其他UI直购,比如神识丹,暂时可以忽略)
             if (PlayerManager.Instance.BagController.DeductItem(shopItemConfig.costItemId,
             if (PlayerManager.Instance.BagController.DeductItem(shopItemConfig.costItemId,
                     shopItemConfig.price * count))
                     shopItemConfig.price * count))
             {
             {
@@ -334,7 +335,7 @@ public class ShopManger : Singleton<ShopManger>
 
 
                 itemList.Add(itemInfo);
                 itemList.Add(itemInfo);
             }
             }
-
+//TODO 抽卡:商店购买
             PlayerManager.Instance.BagController.AddItem(itemList);
             PlayerManager.Instance.BagController.AddItem(itemList);
             //更新商店数据
             //更新商店数据
             AccountFileInfo.Instance.SavePlayerData();
             AccountFileInfo.Instance.SavePlayerData();

+ 1 - 1
Assets/Scripts/GameUI/Combat/CombatDrive.cs

@@ -119,7 +119,7 @@ namespace GameLogic.Combat
 
 
         protected async void CombatFinish(bool isWin)
         protected async void CombatFinish(bool isWin)
         {
         {
-            UIManager.Instance.HideUIUIPanel<CombatHPPanel>();
+            
             await LoadCombatFinishUI(isWin);
             await LoadCombatFinishUI(isWin);
 
 
             // MainPanel mainPanel = UIManager.Instance.GetComponent<MainPanel>();
             // MainPanel mainPanel = UIManager.Instance.GetComponent<MainPanel>();

+ 1 - 0
Assets/Scripts/GameUI/Combat/LevelBattleCombatMono.cs

@@ -28,6 +28,7 @@ namespace GameUI.Combat
             await UIManager.Instance.HideUIUIPanel<CombatPanel>();
             await UIManager.Instance.HideUIUIPanel<CombatPanel>();
             CombatDrive.Instance.CombatToStage(CombatController.currActiveCombat.isWin);
             CombatDrive.Instance.CombatToStage(CombatController.currActiveCombat.isWin);
             CombatController.currActiveCombat.ChangeState(CombatController.idle);
             CombatController.currActiveCombat.ChangeState(CombatController.idle);
+            UIManager.Instance.HideUIUIPanel<CombatHPPanel>();
         }
         }
     }
     }
 }
 }

+ 1 - 0
Assets/Scripts/GameUI/EventManager/DialogueManager.cs

@@ -276,6 +276,7 @@ public class DialogueManager : Singleton<DialogueManager>
             case 4:
             case 4:
                 for (var i = 0; i < dialogueConfig.optionPara1.Length; i++)
                 for (var i = 0; i < dialogueConfig.optionPara1.Length; i++)
                 {
                 {
+                    //TODO 消耗:事件需求
                     PlayerManager.Instance.BagController.DeductItem(dialogueConfig.optionPara1[i],
                     PlayerManager.Instance.BagController.DeductItem(dialogueConfig.optionPara1[i],
                         dialogueConfig.optionPara2[i]);
                         dialogueConfig.optionPara2[i]);
                 }
                 }

+ 3 - 1
Assets/Scripts/GameUI/EventManager/EventSystemManager.cs

@@ -510,11 +510,13 @@ public class EventSystemManager : Singleton<EventSystemManager>
 
 
             if (itemInfoType1 != null)
             if (itemInfoType1 != null)
             {
             {
+                //TODO 消耗:神识符(概率)
                 PlayerManager.Instance.BagController.DeductItem(itemInfoType1.itemID, 1);
                 PlayerManager.Instance.BagController.DeductItem(itemInfoType1.itemID, 1);
             }
             }
 
 
             if (itemInfoType2 != null)
             if (itemInfoType2 != null)
             {
             {
+                //TODO 消耗:神识符箓(特定资源)
                 PlayerManager.Instance.BagController.DeductItem(itemInfoType2.itemID, 1);
                 PlayerManager.Instance.BagController.DeductItem(itemInfoType2.itemID, 1);
             }
             }
 
 
@@ -1312,7 +1314,7 @@ public class EventSystemManager : Singleton<EventSystemManager>
             itemInfos.Add(new ItemInfo(eventListItemInfo));
             itemInfos.Add(new ItemInfo(eventListItemInfo));
         }
         }
 
 
-
+//TODO 完成事件 (eventConfig)
         PlayerManager.Instance.BagController.AddItem(itemInfos);
         PlayerManager.Instance.BagController.AddItem(itemInfos);
 
 
 
 

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

@@ -48,7 +48,7 @@ public class GameApplction : IGameStart, ILogSend
     private GameStartUIPanel gameStartUIPanel;
     private GameStartUIPanel gameStartUIPanel;
     private System.Action LoadFinish;
     private System.Action LoadFinish;
 
 
-    private static string LogPath =>
+    public static string LogPath =>
         Path.Combine(Application.persistentDataPath, "GameLog.txt");
         Path.Combine(Application.persistentDataPath, "GameLog.txt");
 
 
     private static readonly StringBuilder _cache = new StringBuilder();
     private static readonly StringBuilder _cache = new StringBuilder();
@@ -56,6 +56,23 @@ public class GameApplction : IGameStart, ILogSend
     public async void StartGame(LoadType LoadType, string h5Url, GameStartUIPanel gameStartUIPanel,
     public async void StartGame(LoadType LoadType, string h5Url, GameStartUIPanel gameStartUIPanel,
         System.Action LoadFinish)
         System.Action LoadFinish)
     {
     {
+        // VersionChecker versionChecker = new VersionChecker();
+        // if (!await versionChecker.Start())
+        // {
+        //     bool isok = await TipsPanle.OpenPnael(10819);
+        //     if (isok)
+        //     {
+        //         versionChecker.OpenOtherApp("com.xmcy.hykb");
+        //     }
+        //     else
+        //     {
+        //         Application.Quit();
+        //     }
+        //
+        //     return;
+        // }
+
+
         Debug.Log("开始游戏逻辑");
         Debug.Log("开始游戏逻辑");
         HotSyncContent.DownloadUI = gameStartUIPanel;
         HotSyncContent.DownloadUI = gameStartUIPanel;
         this.LoadFinish = LoadFinish;
         this.LoadFinish = LoadFinish;

+ 2 - 5
Assets/Scripts/GameUI/UI/AppBarPanel/TitlePanel.cs

@@ -73,13 +73,10 @@ namespace Fort23.Mono
                 allexp += heroPowerUpConfig.levelUpExp;
                 allexp += heroPowerUpConfig.levelUpExp;
             }
             }
 
 
-            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
 
 
-            float heroAllexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
-            heroAllexp = PlayerManager.Instance.myHero.heroData.exp + heroAllexp;
 
 
 
 
-            int bl = (int)((heroAllexp / allexp) * 100);
+            int bl = (int)((PlayerManager.Instance.myHero.GetAllExp() / allexp) * 100);
             bl = bl > 100 ? 100 : bl;
             bl = bl > 100 ? 100 : bl;
 
 
             Text_JingJie.text =
             Text_JingJie.text =
@@ -103,7 +100,7 @@ namespace Fort23.Mono
         [CustomMethod(CustomMethodType.Update)]
         [CustomMethod(CustomMethodType.Update)]
         public void Update()
         public void Update()
         {
         {
-            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
+            int currentMiao = (int)((PlayerManager.Instance.myHero.GetAllExp()) / 1000);
 
 
             float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
             float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
 
 

+ 1 - 0
Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs

@@ -107,6 +107,7 @@ namespace Fort23.Mono
 
 
                 if (PlayerGuideManager.Instance.curPhase == 8 && openBoxConfig.ID == 2)
                 if (PlayerGuideManager.Instance.curPhase == 8 && openBoxConfig.ID == 2)
                 {
                 {
+                    //TODO 消耗:不记引导
                     PlayerManager.Instance.BagController.DeductItem(openBoxConfig.CostItemID, openBoxConfig.oneConsume);
                     PlayerManager.Instance.BagController.DeductItem(openBoxConfig.CostItemID, openBoxConfig.oneConsume);
 
 
                     var item = DropManager.Instance.DropItem(999011);
                     var item = DropManager.Instance.DropItem(999011);

+ 2 - 0
Assets/Scripts/GameUI/UI/BoxPanel/GachaPanel.cs

@@ -98,7 +98,9 @@ namespace Fort23.Mono
                 foreach (var itemInfo in itemInfos)
                 foreach (var itemInfo in itemInfos)
                 {
                 {
                     ItemInfo itemInfo1 = new ItemInfo(itemInfo.itemID, (long)(itemInfo.count.Value * (beLv - 1)));
                     ItemInfo itemInfo1 = new ItemInfo(itemInfo.itemID, (long)(itemInfo.count.Value * (beLv - 1)));
+                    //TODO 功法双倍奖励
                     PlayerManager.Instance.BagController.AddItem(itemInfo1);
                     PlayerManager.Instance.BagController.AddItem(itemInfo1);
+                    
                 }
                 }
 
 
                 if (itemInfos.Count == 1)
                 if (itemInfos.Count == 1)

+ 1 - 1
Assets/Scripts/GameUI/UI/BoxPanel/OpenBoxScorePanel.cs

@@ -165,7 +165,7 @@ namespace Fort23.Mono
                 {
                 {
                     summonSocreData.currentCount = 0;
                     summonSocreData.currentCount = 0;
                 }
                 }
-
+                //TODO 200抽挑战后
                 PlayerManager.Instance.BagController.AddItem(itemInfos);
                 PlayerManager.Instance.BagController.AddItem(itemInfos);
                 AccountFileInfo.Instance.SavePlayerData();
                 AccountFileInfo.Instance.SavePlayerData();
                 RewardsPanel.OpenPanel(itemInfos);
                 RewardsPanel.OpenPanel(itemInfos);

+ 13 - 0
Assets/Scripts/GameUI/UI/CombatPanel/HeroHpWidget.cs

@@ -144,6 +144,7 @@ namespace Fort23.Mono
                 }
                 }
 
 
                 buBetterList.Clear();
                 buBetterList.Clear();
+                RemoveEvent();
                 if (string.IsNullOrEmpty(poolObjName))
                 if (string.IsNullOrEmpty(poolObjName))
                 {
                 {
                     return;
                     return;
@@ -153,6 +154,18 @@ namespace Fort23.Mono
             }
             }
         }
         }
 
 
+        private void RemoveEvent()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroHpUpdate, HeroHpUpdateEventData);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.ClearHeroHp, ClearHeroHp);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroDie, HeroDie);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddBuff,
+                AddBuff);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.RemoveBuff,
+                RemoveBuff);
+            StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
+        }
+
         public void Init(CombatHeroEntity combatHeroEntity)
         public void Init(CombatHeroEntity combatHeroEntity)
         {
         {
             this.combatHeroEntity = combatHeroEntity;
             this.combatHeroEntity = combatHeroEntity;

+ 7 - 0
Assets/Scripts/GameUI/UI/CombatPanel/ZhuanPanPanel.cs

@@ -222,6 +222,7 @@ namespace Fort23.Mono
         public override void DelEvent()
         public override void DelEvent()
         {
         {
             StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
             StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
+            UIManager.Instance.DormancyAllGComponent<UseQuqueSkill>();
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.ExercisesAlter, ExercisesAlter);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.ExercisesAlter, ExercisesAlter);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.TaoismSkillAlter, TaoismSkillAlter);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.TaoismSkillAlter, TaoismSkillAlter);
@@ -229,6 +230,12 @@ namespace Fort23.Mono
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkillFinish, UseSkillFinish);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkillFinish, UseSkillFinish);
         }
         }
 
 
+        public override void DestroyObj()
+        {
+            StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
+            base.DestroyObj();
+        }
+
         private async void UseSkillFinish(IEventData ieveData)
         private async void UseSkillFinish(IEventData ieveData)
         {
         {
             UseSkillFinishEventData eventData = ieveData as UseSkillFinishEventData;
             UseSkillFinishEventData eventData = ieveData as UseSkillFinishEventData;

+ 2 - 1
Assets/Scripts/GameUI/UI/DaoYouPanel/DaoYouInfoPanel.cs

@@ -143,6 +143,7 @@ namespace Fort23.Mono
                 //加好感
                 //加好感
                 if (widgetItem1 != null && daoyouGiftConfig.ID != 0)
                 if (widgetItem1 != null && daoyouGiftConfig.ID != 0)
                 {
                 {
+                    //TODO 消耗:送礼给道友
                     PlayerManager.Instance.BagController.DeductItem(daoyouGiftConfig.ItemID, count);
                     PlayerManager.Instance.BagController.DeductItem(daoyouGiftConfig.ItemID, count);
 
 
 
 
@@ -198,7 +199,7 @@ namespace Fort23.Mono
                         TipMessagePanel.OpenTipMessagePanel("心情已经到最高");
                         TipMessagePanel.OpenTipMessagePanel("心情已经到最高");
                         return;
                         return;
                     }
                     }
-
+                    //TODO 消耗:送礼给道友
                     PlayerManager.Instance.BagController.DeductItem(widgetItem1.itemInfo.itemID, count);
                     PlayerManager.Instance.BagController.DeductItem(widgetItem1.itemInfo.itemID, count);
                     daoYouData.emotionValue += widgetItem1.itemInfo.config.associateVlaue[0];
                     daoYouData.emotionValue += widgetItem1.itemInfo.config.associateVlaue[0];
 
 

+ 1 - 0
Assets/Scripts/GameUI/UI/DaoYouPanel/DaoYouLevelWidget.cs

@@ -52,6 +52,7 @@ namespace Fort23.Mono
                 daoYouData.awardLevels.Add(_daoyouLevelupConfig.ID);
                 daoYouData.awardLevels.Add(_daoyouLevelupConfig.ID);
                 if (items.Count > 0)
                 if (items.Count > 0)
                 {
                 {
+                    //TODO 道友好感度 
                     PlayerManager.Instance.BagController.AddItem(items);
                     PlayerManager.Instance.BagController.AddItem(items);
                     RewardsPanel.OpenPanel(items);
                     RewardsPanel.OpenPanel(items);
                 }
                 }

+ 3 - 1
Assets/Scripts/GameUI/UI/DivineSence/DivineSenceRestoredWidget.cs

@@ -64,6 +64,7 @@ namespace Fort23.Mono
                                 AccountFileInfo.Instance.playerData.divineSensePoint +=
                                 AccountFileInfo.Instance.playerData.divineSensePoint +=
                                     itemInfo.config.associateVlaue[0];
                                     itemInfo.config.associateVlaue[0];
                                 EventManager.Instance.Dispatch(CustomEventType.DivineSensePointChange, null);
                                 EventManager.Instance.Dispatch(CustomEventType.DivineSensePointChange, null);
+                                //TODO 消耗:神识丹(代金卷直购)
                                 PlayerManager.Instance.BagController.DeductItem(itemInfo.config.ID, 1);
                                 PlayerManager.Instance.BagController.DeductItem(itemInfo.config.ID, 1);
                             }
                             }
                         }
                         }
@@ -78,7 +79,7 @@ namespace Fort23.Mono
                         TipMessagePanel.OpenTipMessagePanel(833, Vector2.zero);
                         TipMessagePanel.OpenTipMessagePanel(833, Vector2.zero);
                     }
                     }
                 }
                 }
-                //世界使用道具
+                //直接使用道具
                 else
                 else
                 {
                 {
                     if (PlayerManager.Instance.BagController.IsEnough(itemConfig.ID, 1))
                     if (PlayerManager.Instance.BagController.IsEnough(itemConfig.ID, 1))
@@ -86,6 +87,7 @@ namespace Fort23.Mono
                         AudioManager.Instance.PlayAudio("ui_tycg.wav");
                         AudioManager.Instance.PlayAudio("ui_tycg.wav");
                         AccountFileInfo.Instance.playerData.divineSensePoint +=
                         AccountFileInfo.Instance.playerData.divineSensePoint +=
                             itemConfig.associateVlaue[0];
                             itemConfig.associateVlaue[0];
+                        //TODO 消耗:神识丹(自有道具)
                         PlayerManager.Instance.BagController.DeductItem(itemConfig.ID, 1);
                         PlayerManager.Instance.BagController.DeductItem(itemConfig.ID, 1);
                         EventManager.Instance.Dispatch(CustomEventType.DivineSensePointChange, null);
                         EventManager.Instance.Dispatch(CustomEventType.DivineSensePointChange, null);
                         UIManager.Instance.GetComponent<DivineSenceRestoredPanel>().CreatWidget();
                         UIManager.Instance.GetComponent<DivineSenceRestoredPanel>().CreatWidget();

+ 4 - 1
Assets/Scripts/GameUI/UI/GongFaUpgradePanel/GongFaUpgradePanel.cs

@@ -161,6 +161,7 @@ namespace Fort23.Mono
                 CustomInit(_skillInfo);
                 CustomInit(_skillInfo);
                 foreach (var keyValuePair in itemInfo)
                 foreach (var keyValuePair in itemInfo)
                 {
                 {
+                    //TODO 功法重置
                     PlayerManager.Instance.BagController.AddItem(keyValuePair.Value);
                     PlayerManager.Instance.BagController.AddItem(keyValuePair.Value);
                 }
                 }
 
 
@@ -194,7 +195,8 @@ namespace Fort23.Mono
             SkillConstant skillConstant = ConfigComponent.Instance.Get<SkillConstant>(itemConfig.quality);
             SkillConstant skillConstant = ConfigComponent.Instance.Get<SkillConstant>(itemConfig.quality);
 
 
             int count = skillConstant.SkillPromoteNeedPieceNum[_skillInfo.skillConfig.level - 1];
             int count = skillConstant.SkillPromoteNeedPieceNum[_skillInfo.skillConfig.level - 1];
-
+            
+            //TODO 消耗:功法升星
             if (!PlayerManager.Instance.BagController.DeductItem(_skillInfo.skillConfig.PieceID, count))
             if (!PlayerManager.Instance.BagController.DeductItem(_skillInfo.skillConfig.PieceID, count))
             {
             {
                 AudioManager.Instance.PlayAudio("ui_chaozuoshibai.wav");
                 AudioManager.Instance.PlayAudio("ui_chaozuoshibai.wav");
@@ -269,6 +271,7 @@ namespace Fort23.Mono
             //扣除道具
             //扣除道具
             for (var i = 0; i < _skillInfo.SkillPowerupConfig.LevelupItem.Length; i++)
             for (var i = 0; i < _skillInfo.SkillPowerupConfig.LevelupItem.Length; i++)
             {
             {
+                //TODO 消耗:功法升级
                 PlayerManager.Instance.BagController.DeductItem(_skillInfo.SkillPowerupConfig.LevelupItem[i],
                 PlayerManager.Instance.BagController.DeductItem(_skillInfo.SkillPowerupConfig.LevelupItem[i],
                     _skillInfo.SkillPowerupConfig.LevelupItemNum[i]);
                     _skillInfo.SkillPowerupConfig.LevelupItemNum[i]);
             }
             }

+ 1 - 0
Assets/Scripts/GameUI/UI/GuidePanel/PlayerGuideManager.cs

@@ -703,6 +703,7 @@ namespace Fort23.Mono
             {
             {
                 for (var i = 0; i < guideConfig.AwardItem.Length; i++)
                 for (var i = 0; i < guideConfig.AwardItem.Length; i++)
                 {
                 {
+                    //TODO 不记录引导赠送
                     PlayerManager.Instance.BagController.AddItem(new ItemInfo(guideConfig.AwardItem[i],
                     PlayerManager.Instance.BagController.AddItem(new ItemInfo(guideConfig.AwardItem[i],
                         guideConfig.AwardItemNum[i]));
                         guideConfig.AwardItemNum[i]));
                 }
                 }

+ 5 - 4
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroBreakthroughPanel.cs

@@ -62,7 +62,7 @@ namespace Fort23.Mono
                 }
                 }
 
 
 
 
-                if (PlayerManager.Instance.myHero.heroData.exp + HeroHerlp.GetHeroExp() <
+                if (PlayerManager.Instance.myHero.GetAllExp() <
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                 {
                 {
                     return;
                     return;
@@ -117,6 +117,7 @@ namespace Fort23.Mono
 
 
                     for (var i = 0; i < PlayerManager.Instance.myHero.powerUpConfig.DujieItemIDs?.Length; i++)
                     for (var i = 0; i < PlayerManager.Instance.myHero.powerUpConfig.DujieItemIDs?.Length; i++)
                     {
                     {
+                        //TODO 消耗:突破境界(可选道具)
                         PlayerManager.Instance.BagController.DeductItem(
                         PlayerManager.Instance.BagController.DeductItem(
                             PlayerManager.Instance.myHero.powerUpConfig.DujieItemIDs[i], 1);
                             PlayerManager.Instance.myHero.powerUpConfig.DujieItemIDs[i], 1);
                     }
                     }
@@ -135,6 +136,7 @@ namespace Fort23.Mono
                              i < PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs.Length;
                              i < PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs.Length;
                              i++)
                              i++)
                         {
                         {
+                            //TODO 消耗:突破境界(必选道具)
                             PlayerManager.Instance.BagController.DeductItem(
                             PlayerManager.Instance.BagController.DeductItem(
                                 PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs[i], 1);
                                 PlayerManager.Instance.myHero.powerUpConfig.DujieMustItemIDs[i], 1);
                         }
                         }
@@ -267,8 +269,8 @@ namespace Fort23.Mono
 
 
         private int RemoveHeroItem(int failBl)
         private int RemoveHeroItem(int failBl)
         {
         {
-            float allexp = HeroHerlp.GetHeroExp();
-            PlayerManager.Instance.myHero.heroData.exp += allexp;
+            // float allexp = HeroHerlp.GetHeroExp();
+            PlayerManager.Instance.myHero.heroData.exp += PlayerManager.Instance.myHero.GetGuaJiExp();
             //扣除失败后的经验
             //扣除失败后的经验
             float failbl = failBl == 0
             float failbl = failBl == 0
                 ? PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce
                 ? PlayerManager.Instance.myHero.powerUpConfig.FailureExpReduce
@@ -278,7 +280,6 @@ namespace Fort23.Mono
 
 
             PlayerManager.Instance.myHero.heroData.exp -= failXw;
             PlayerManager.Instance.myHero.heroData.exp -= failXw;
             PlayerManager.Instance.myHero.heroData.upTime = TimeHelper.ClientNow();
             PlayerManager.Instance.myHero.heroData.upTime = TimeHelper.ClientNow();
-            // PlayerManager.Instance.myHero.heroData.isCombat = false;
             AccountFileInfo.Instance.SavePlayerData();
             AccountFileInfo.Instance.SavePlayerData();
             return failXw;
             return failXw;
         }
         }

+ 1 - 7
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroHerlp.cs

@@ -145,12 +145,6 @@ namespace Fort23.Mono
             return heroAttributeDataList;
             return heroAttributeDataList;
         }
         }
 
 
-        public static float GetHeroExp()
-        {
-            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
-
-            float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
-            return allexp;
-        }
+  
     }
     }
 }
 }

+ 25 - 32
Assets/Scripts/GameUI/UI/HeroInformationPanel/HeroInformationPanel.cs

@@ -110,11 +110,7 @@ namespace Fort23.Mono
                     return;
                     return;
                 }
                 }
 
 
-                int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) /
-                                        1000);
-
-                float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
-                if (PlayerManager.Instance.myHero.heroData.exp + allexp <
+                if (PlayerManager.Instance.myHero.GetAllExp() <
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                 {
                 {
                     AudioManager.Instance.PlayAudio("ui_chaozuoshibai.wav");
                     AudioManager.Instance.PlayAudio("ui_chaozuoshibai.wav");
@@ -189,23 +185,18 @@ namespace Fort23.Mono
         }
         }
 
 
         int redDotID = 5;
         int redDotID = 5;
-        private int currentMiao = 0;
-        private float allexp = 0;
+
 
 
         public async CTask CustomInit()
         public async CTask CustomInit()
         {
         {
             ClosePool();
             ClosePool();
 
 
-            currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) /
-                                1000);
-
-            allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
 
 
             Slider_Exp.maxValue = PlayerManager.Instance.myHero.powerUpConfig.levelUpExp;
             Slider_Exp.maxValue = PlayerManager.Instance.myHero.powerUpConfig.levelUpExp;
-            Slider_Exp.value = PlayerManager.Instance.myHero.heroData.exp + allexp;
+            Slider_Exp.value = PlayerManager.Instance.myHero.GetAllExp();
 
 
             Text_exp.text =
             Text_exp.text =
-                $"{(int)PlayerManager.Instance.myHero.heroData.exp + allexp}/{PlayerManager.Instance.myHero.powerUpConfig.levelUpExp}";
+                $"{(int)PlayerManager.Instance.myHero.GetAllExp()}/{PlayerManager.Instance.myHero.powerUpConfig.levelUpExp}";
 
 
             for (var i = 0; i < JingJieIcons.Count; i++)
             for (var i = 0; i < JingJieIcons.Count; i++)
             {
             {
@@ -231,7 +222,7 @@ namespace Fort23.Mono
 
 
 
 
             int miao = (int)((PlayerManager.Instance.myHero.powerUpConfig.levelUpExp -
             int miao = (int)((PlayerManager.Instance.myHero.powerUpConfig.levelUpExp -
-                              (PlayerManager.Instance.myHero.heroData.exp + allexp)) /
+                              (PlayerManager.Instance.myHero.GetAllExp())) /
                              PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei);
                              PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei);
             if (miao > 0)
             if (miao > 0)
             {
             {
@@ -363,7 +354,7 @@ namespace Fort23.Mono
                 fx_ui_pojing_loop.gameObject.SetActive(false);
                 fx_ui_pojing_loop.gameObject.SetActive(false);
                 fx_ui_pojing_loop2.gameObject.SetActive(false);
                 fx_ui_pojing_loop2.gameObject.SetActive(false);
                 fx_ui_dujie_loop.gameObject.SetActive(false);
                 fx_ui_dujie_loop.gameObject.SetActive(false);
-                if (PlayerManager.Instance.myHero.heroData.exp + allexp >=
+                if (PlayerManager.Instance.myHero.GetAllExp() >=
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                 {
                 {
                     if (PlayerManager.Instance.myHero.powerUpConfig.jingjie1 == heroInfo.powerUpConfig.jingjie1)
                     if (PlayerManager.Instance.myHero.powerUpConfig.jingjie1 == heroInfo.powerUpConfig.jingjie1)
@@ -437,33 +428,37 @@ namespace Fort23.Mono
             // }
             // }
             //
             //
             // timer = 0;
             // timer = 0;
-            currentMiao =
-                (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
 
 
-            allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
 
 
-            Slider_Exp.value = PlayerManager.Instance.myHero.heroData.exp + allexp;
+            Slider_Exp.value = PlayerManager.Instance.myHero.GetAllExp();
 
 
             Text_exp.text =
             Text_exp.text =
-                $"{(int)(PlayerManager.Instance.myHero.heroData.exp + allexp)}/{PlayerManager.Instance.myHero.powerUpConfig.levelUpExp}";
-
-            int miao = (int)((PlayerManager.Instance.myHero.powerUpConfig.levelUpExp -
-                              (PlayerManager.Instance.myHero.heroData.exp + allexp)) /
-                             PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei);
-            if (miao > 0)
+                $"{(int)(PlayerManager.Instance.myHero.GetAllExp())}/{PlayerManager.Instance.myHero.powerUpConfig.levelUpExp}";
+            if (PlayerManager.Instance.myHero.IsGuaijiShangXian())
             {
             {
-                Text_Speed.text = LanguageManager.Instance.Text(10230,
-                    PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei, PlayerManager.TimeToHSM(miao));
+                Text_Speed.text = LanguageManager.Instance.Text(10820);
             }
             }
             else
             else
             {
             {
-                Text_Speed.text = LanguageManager.Instance.Text(10266,
-                    PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei);
+                int miao = (int)((PlayerManager.Instance.myHero.powerUpConfig.levelUpExp -
+                                  (PlayerManager.Instance.myHero.GetAllExp())) /
+                                 PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei);
+                if (miao > 0)
+                {
+                    Text_Speed.text = LanguageManager.Instance.Text(10230,
+                        PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei, PlayerManager.TimeToHSM(miao));
+                }
+                else
+                {
+                    Text_Speed.text = LanguageManager.Instance.Text(10266,
+                        PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei);
+                }
             }
             }
 
 
+
             if (!fx_ui_tupo_loop.gameObject.activeSelf)
             if (!fx_ui_tupo_loop.gameObject.activeSelf)
             {
             {
-                if (PlayerManager.Instance.myHero.heroData.exp + allexp >=
+                if (PlayerManager.Instance.myHero.GetAllExp() >=
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                     PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                 {
                 {
                     Btn_TuPo.transform.RecoverColor();
                     Btn_TuPo.transform.RecoverColor();
@@ -553,8 +548,6 @@ namespace Fort23.Mono
         public async override CTask Close()
         public async override CTask Close()
         {
         {
             fx_ui_tupo_loop.gameObject.SetActive(false);
             fx_ui_tupo_loop.gameObject.SetActive(false);
-            currentMiao = 0;
-            allexp = 0;
             ClosePool();
             ClosePool();
             await base.Close();
             await base.Close();
         }
         }

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

@@ -67,6 +67,7 @@ namespace Fort23.Mono
                 return;
                 return;
             }
             }
 
 
+            //TODO 消耗:修为丹
             if (PlayerManager.Instance.BagController.DeductItem(elixirItemWidget.ItemConfig.ID, 1))
             if (PlayerManager.Instance.BagController.DeductItem(elixirItemWidget.ItemConfig.ID, 1))
             {
             {
                 // PlayerManager.Instance.myHero.heroData.exp += elixirItemWidget.ItemConfig.associateVlaue[0];
                 // PlayerManager.Instance.myHero.heroData.exp += elixirItemWidget.ItemConfig.associateVlaue[0];

+ 3 - 0
Assets/Scripts/GameUI/UI/MainHeroPnael/SelectFaBaoPanel.cs

@@ -161,6 +161,7 @@ namespace Fort23.Mono
                 }
                 }
                 foreach (var keyValuePair in itemInfo)
                 foreach (var keyValuePair in itemInfo)
                 {
                 {
+                    //TODO 法宝重置
                     PlayerManager.Instance.BagController.AddItem(keyValuePair.Value);
                     PlayerManager.Instance.BagController.AddItem(keyValuePair.Value);
                 }
                 }
                 RewardsPanel.OpenPanel(itemInfo);
                 RewardsPanel.OpenPanel(itemInfo);
@@ -232,6 +233,7 @@ namespace Fort23.Mono
 
 
                 for (var i = 0; i < selectedFaBaoInfo.FabaoPowerupConfig.PowerupItemIDs.Length; i++)
                 for (var i = 0; i < selectedFaBaoInfo.FabaoPowerupConfig.PowerupItemIDs.Length; i++)
                 {
                 {
+                    //TODO 消耗:法宝升级
                     PlayerManager.Instance.BagController.DeductItem(
                     PlayerManager.Instance.BagController.DeductItem(
                         selectedFaBaoInfo.FabaoPowerupConfig.PowerupItemIDs[i],
                         selectedFaBaoInfo.FabaoPowerupConfig.PowerupItemIDs[i],
                         selectedFaBaoInfo.FabaoPowerupConfig.PowerupItemCosts[i]);
                         selectedFaBaoInfo.FabaoPowerupConfig.PowerupItemCosts[i]);
@@ -240,6 +242,7 @@ namespace Fort23.Mono
                 if (selectedFaBaoInfo.FabaoPowerupConfig.PromotePieceNum != null &&
                 if (selectedFaBaoInfo.FabaoPowerupConfig.PromotePieceNum != null &&
                     selectedFaBaoInfo.FabaoPowerupConfig.PromotePieceNum[itemConfig2.quality - 1] != -1)
                     selectedFaBaoInfo.FabaoPowerupConfig.PromotePieceNum[itemConfig2.quality - 1] != -1)
                 {
                 {
+                    //TODO 消耗:法宝突破
                     PlayerManager.Instance.BagController.DeductItem(itemConfig.associateVlaue[0],
                     PlayerManager.Instance.BagController.DeductItem(itemConfig.associateVlaue[0],
                         selectedFaBaoInfo.FabaoPowerupConfig.PromotePieceNum[itemConfig2.quality - 1]);
                         selectedFaBaoInfo.FabaoPowerupConfig.PromotePieceNum[itemConfig2.quality - 1]);
                 }
                 }

+ 3 - 10
Assets/Scripts/GameUI/UI/MainPanel/MainPanel.cs

@@ -90,12 +90,8 @@ namespace Fort23.Mono
 
 
                 if (EventSystemManager.Instance.IsEventCompleted(10003) && PlayerGuideManager.Instance.GuideIsCanDo(6) && PlayerManager.Instance.myHero.powerUpConfig.jingjie3 != 10)
                 if (EventSystemManager.Instance.IsEventCompleted(10003) && PlayerGuideManager.Instance.GuideIsCanDo(6) && PlayerManager.Instance.myHero.powerUpConfig.jingjie3 != 10)
                 {
                 {
-                    int currentMiao =
-                        (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) /
-                              1000);
-
-                    float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
-                    if (PlayerManager.Instance.myHero.heroData.exp + allexp >=
+      
+                    if (PlayerManager.Instance.myHero.GetAllExp() >=
                         PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                         PlayerManager.Instance.myHero.powerUpConfig.levelUpExp)
                     {
                     {
                         await PlayerGuideManager.Instance.SetGuid(6);
                         await PlayerGuideManager.Instance.SetGuid(6);
@@ -323,10 +319,7 @@ namespace Fort23.Mono
                 allexp += heroPowerUpConfig.levelUpExp;
                 allexp += heroPowerUpConfig.levelUpExp;
             }
             }
 
 
-            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
-
-            float heroAllexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;
-            heroAllexp = PlayerManager.Instance.myHero.heroData.exp + heroAllexp;
+            float heroAllexp = PlayerManager.Instance.myHero.GetAllExp();
 
 
 
 
             int bl = (int)((heroAllexp / allexp) * 100);
             int bl = (int)((heroAllexp / allexp) * 100);

+ 2 - 0
Assets/Scripts/GameUI/UI/QiankundaiPanel/QiankundaiPanel.cs

@@ -36,6 +36,7 @@ namespace Fort23.Mono
                 foreach (var playerDataQiankundaiItemData in AccountFileInfo.Instance.playerData.QiankundaiItemDatas)
                 foreach (var playerDataQiankundaiItemData in AccountFileInfo.Instance.playerData.QiankundaiItemDatas)
                 {
                 {
                     ItemInfo itemInfo = new ItemInfo(playerDataQiankundaiItemData);
                     ItemInfo itemInfo = new ItemInfo(playerDataQiankundaiItemData);
+                    //TODO 挂机
                     PlayerManager.Instance.BagController.AddItem(itemInfo);
                     PlayerManager.Instance.BagController.AddItem(itemInfo);
                     itemInfos.Add(itemInfo);
                     itemInfos.Add(itemInfo);
                 }
                 }
@@ -52,6 +53,7 @@ namespace Fort23.Mono
                                 qiankundaiConfig.DropCount[i]);
                                 qiankundaiConfig.DropCount[i]);
                             foreach (var info in itemInfo)
                             foreach (var info in itemInfo)
                             {
                             {
+                                //TODO 挂机(一日一次的)
                                 PlayerManager.Instance.BagController.AddItem(info);
                                 PlayerManager.Instance.BagController.AddItem(info);
                                 itemInfos.Add(info);
                                 itemInfos.Add(info);
                             }
                             }

+ 1 - 0
Assets/Scripts/GameUI/UI/SentimentPanel/SentimentInfoPanel.cs

@@ -119,6 +119,7 @@ namespace Fort23.Mono
                 SentimentEffectConfig sentimentEffectConfig =
                 SentimentEffectConfig sentimentEffectConfig =
                     ConfigComponent.Instance.Get<SentimentEffectConfig>(conFigId);
                     ConfigComponent.Instance.Get<SentimentEffectConfig>(conFigId);
 
 
+                //TODO 消耗:心境点
                 if (!PlayerManager.Instance.BagController.DeductItem(sentimentEffectConfig.upConstItemId,
                 if (!PlayerManager.Instance.BagController.DeductItem(sentimentEffectConfig.upConstItemId,
                         sentimentEffectConfig.upConstCount))
                         sentimentEffectConfig.upConstCount))
                 {
                 {

+ 1 - 0
Assets/Scripts/GameUI/UI/ShopPanel/ShopGachaPanel.cs

@@ -90,6 +90,7 @@ namespace Fort23.Mono
                 {
                 {
                     ItemInfo itemInfo1 = new ItemInfo(itemInfo.itemID,
                     ItemInfo itemInfo1 = new ItemInfo(itemInfo.itemID,
                         (long)(itemInfo.config.associateVlaue[1] * (beLv - 1)));
                         (long)(itemInfo.config.associateVlaue[1] * (beLv - 1)));
+                    //TODO 代金卷双倍
                     PlayerManager.Instance.BagController.AddItem(itemInfo1);
                     PlayerManager.Instance.BagController.AddItem(itemInfo1);
                 }
                 }
 
 

+ 1 - 0
Assets/Scripts/GameUI/UI/TowerPanel/TowerLevelWidget.cs

@@ -45,6 +45,7 @@ namespace Fort23.Mono
                 for (var i = 0; i < _towerInfoConfig.reward.Length; i++)
                 for (var i = 0; i < _towerInfoConfig.reward.Length; i++)
                 {
                 {
                     ItemInfo itemInfo = new ItemInfo(_towerInfoConfig.reward[i], _towerInfoConfig.rewardCount[i]);
                     ItemInfo itemInfo = new ItemInfo(_towerInfoConfig.reward[i], _towerInfoConfig.rewardCount[i]);
+                    //TODO 命运峰 
                     PlayerManager.Instance.BagController.AddItem(itemInfo);
                     PlayerManager.Instance.BagController.AddItem(itemInfo);
                     itemInfos.Add(itemInfo);
                     itemInfos.Add(itemInfo);
                 }
                 }

+ 236 - 0
Assets/Scripts/GameUI/VersionChecker.cs

@@ -0,0 +1,236 @@
+using System;
+using System.IO;
+using System.Text;
+using Fort23.Core;
+using Fort23.GameData;
+using Fort23.UTool;
+using hirdParty.DownloadSystem;
+using ThirdParty;
+using ThirdParty.DownloadSystem;
+using UnityEngine;
+using UnityEngine.Networking;
+
+public class VersionChecker
+{
+    private string versionUrl;
+    string savePath;
+    private AssetMD5Info _assetMD5Info;
+    private VersionInfo versionInfo = null;
+
+
+    public async CTask<bool> Start()
+    {
+        versionUrl = $"{HotSyncContent.AssetURL}/version.json";
+        savePath = Path.Combine(Application.persistentDataPath, versionInfo.apkVersion + "update.apk");
+
+        versionInfo = await GetRemoteVersion();
+        string local = Application.version;
+
+        if (versionInfo != null && versionInfo.apkVersion != local)
+        {
+            return false;
+
+            // await GetMd5();
+            // if (!await Cheek())
+            // {
+            //     Debug.Log("检测到新版本,开始下载...");
+            //     await DownloadAndInstall();
+            // }
+        }
+
+        return true;
+    }
+
+
+    public void OpenOtherApp(string packageName)
+    {
+#if UNITY_ANDROID && !UNITY_EDITOR
+        try
+        {
+            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
+            AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
+
+            AndroidJavaObject packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
+            AndroidJavaObject launchIntent =
+ packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", packageName);
+
+            if (launchIntent != null)
+            {
+                currentActivity.Call("startActivity", launchIntent);
+            }
+            else
+            {
+                Application.OpenURL("https://www.3839.com/a/189449.htm");
+                Debug.Log("应用未安装: " + packageName);
+            }
+        }
+        catch (System.Exception e)
+        {
+            Debug.Log("打开应用失败: " + e.Message);
+        }
+#endif
+    }
+
+    private async CTask GetMd5()
+    {
+        CTask cTask = CTask.Create();
+        DownloadFileData downloadFileData2 = new DownloadFileData();
+        downloadFileData2.remoteUrl = $"{HotSyncContent.AssetURL}/{versionInfo.apkVersion}/MD5.txt";
+        downloadFileData2.maxCount = int.MaxValue;
+        downloadFileData2.timeOut = 10;
+        DownloadHander downloadHander2 = FileDownloadSystem.Instance.DownloadFile(downloadFileData2);
+        DownLoadHanderGroup downLoadHanderGroup = new DownLoadHanderGroup();
+        downLoadHanderGroup.AddHander(downloadHander2);
+        downLoadHanderGroup.OnCallBack = async delegate
+        {
+            if (downloadHander2.HttpDownloadBasic.DownloadHander.HttpDownloadBasic.Result() !=
+                UnityWebRequest.Result.Success)
+            {
+                LogTool.Warning("获取MD5失败,尝试重新获取");
+                await GetMd5();
+                cTask.SetResult();
+                return;
+            }
+
+            string json = UTF8Encoding.UTF8.GetString(downloadHander2.Data);
+            _assetMD5Info = JsonHelper.FromJson<AssetMD5Info>(json);
+            cTask.SetResult();
+        };
+
+        downLoadHanderGroup.StartUpdate();
+        await cTask;
+    }
+
+    private CTask<bool> Cheek()
+    {
+        CTask<bool> cheekTask = CTask<bool>.Create();
+        CheckFilePool _checkFileThrans = new CheckFilePool();
+        _checkFileThrans.isStreamingAssetsPath = false;
+        _checkFileThrans.streamingAssetsPath = Application.persistentDataPath;
+        _checkFileThrans.Start(Application.persistentDataPath,
+            _assetMD5Info.fileInfo);
+        _checkFileThrans.OnFinish = async delegate
+        {
+            //失败
+            if (_checkFileThrans.shiBaiFile.Count > 0)
+            {
+                cheekTask.SetResult(false);
+            }
+            else
+            {
+                cheekTask.SetResult(true);
+            }
+        };
+        return cheekTask;
+    }
+
+
+    private async CTask<VersionInfo> GetRemoteVersion()
+    {
+        UnityWebRequest req = UnityWebRequest.Get(versionUrl);
+        var s = req.SendWebRequest();
+        CTask cTask = CTask.Create();
+        s.completed += operation => cTask.SetResult();
+        await cTask;
+
+        if (req.result != UnityWebRequest.Result.Success)
+        {
+            LogTool.Error("版本号获取失败:" + req.error);
+            return await GetRemoteVersion();
+        }
+
+        var json = req.downloadHandler.text;
+        var data = JsonUtility.FromJson<VersionInfo>(json);
+        return data;
+    }
+
+    private async CTask DownloadAndInstall()
+    {
+        CTask cTask = CTask.Create();
+
+        Debug.Log("APK 下载路径:" + savePath);
+
+
+        DownLoadHanderGroup downLoadHanderGroup = new DownLoadHanderGroup();
+        DownloadFileData downloadFileData = new DownloadFileData();
+        downloadFileData.remoteUrl = versionInfo.apkUrl;
+        Debug.Log("下载文件" + downloadFileData.remoteUrl);
+        downloadFileData.localPath = savePath;
+        DownloadHander fileDow = FileDownloadSystem.Instance.DownloadFile(downloadFileData);
+
+        downLoadHanderGroup.AddHander(fileDow);
+
+        float m = downLoadHanderGroup.size / 1024f / 1024f;
+        float speed = fileDow.UnityWebRequestAsyncOperation.webRequest.downloadedBytes / 1024f;
+        LogTool.Log(
+            $"Downloading:   {m.ToString("0.00")}M / {_assetMD5Info.fileInfo[0].size.ToString("0.00")}M  speed {HotSyncContent.FormatSpeed(speed)}");
+
+        downLoadHanderGroup.OnCallBack = async () =>
+        {
+            if (fileDow.HttpDownloadBasic.DownloadHander.HttpDownloadBasic.Result() != UnityWebRequest.Result.Success)
+            {
+                await DownloadAndInstall();
+                cTask.SetResult();
+                return;
+            }
+
+            Debug.Log("APK 下载成功");
+            if (!await Cheek())
+            {
+                LogTool.Warning("md5对比失败,重新下载");
+                await DownloadAndInstall();
+                return;
+            }
+
+
+            InstallAPK(savePath);
+            cTask.SetResult();
+        };
+        downLoadHanderGroup.StartUpdate();
+        await cTask;
+    }
+
+    static void InstallAPK(string apkPath)
+    {
+#if UNITY_ANDROID
+        try
+        {
+            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
+            AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
+
+            AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
+            AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent");
+
+            string ACTION_VIEW = intentClass.GetStatic<string>("ACTION_VIEW");
+            intent.Call<AndroidJavaObject>("setAction", ACTION_VIEW);
+
+            AndroidJavaClass fileClass = new AndroidJavaClass("java.io.File");
+            AndroidJavaObject fileObj = new AndroidJavaObject("java.io.File", apkPath);
+
+            AndroidJavaClass uriClass = new AndroidJavaClass("androidx.core.content.FileProvider");
+            AndroidJavaObject context = currentActivity.Call<AndroidJavaObject>("getApplicationContext");
+            AndroidJavaObject uri = uriClass.CallStatic<AndroidJavaObject>("getUriForFile",
+                context,
+                "com.yourgame.fileprovider",
+                fileObj);
+
+            intent.Call<AndroidJavaObject>("setDataAndType", uri, "application/vnd.android.package-archive");
+            intent.Call<AndroidJavaObject>("addFlags", 1 << 25); // FLAG_GRANT_READ_URI_PERMISSION
+            intent.Call<AndroidJavaObject>("addFlags", 1 << 31); // FLAG_ACTIVITY_NEW_TASK
+
+            currentActivity.Call("startActivity", intent);
+        }
+        catch (Exception ex)
+        {
+            Debug.LogError("安装 APK 出错:" + ex.Message);
+        }
+#endif
+    }
+}
+
+[Serializable]
+public class VersionInfo
+{
+    public string apkVersion;
+    public string apkUrl;
+}

+ 11 - 0
Assets/Scripts/GameUI/VersionChecker.cs.meta

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

File diff suppressed because it is too large
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


BIN
Excel2Json/Excel/EventConfig.xlsx


BIN
Excel2Json/Excel/Language.xlsx


BIN
Excel2Json/Excel/Sentiment.xlsx


+ 3 - 3
UserSettings/EditorUserSettings.asset

@@ -42,13 +42,13 @@ EditorUserSettings:
       value: 0002065506010b09555d0e7a12750a4443151a297a2e70317d7d4d6be1e1616f
       value: 0002065506010b09555d0e7a12750a4443151a297a2e70317d7d4d6be1e1616f
       flags: 0
       flags: 0
     RecentlyUsedSceneGuid-7:
     RecentlyUsedSceneGuid-7:
-      value: 52570c02000d5e025a58597212725c4440161c2e797a75607f2c4467b7b3323e
+      value: 5a52520506055c0b5c5e082740725b4413161b7d7f7c7761297b1c67bbb26168
       flags: 0
       flags: 0
     RecentlyUsedSceneGuid-8:
     RecentlyUsedSceneGuid-8:
-      value: 5a50500553530b595d0f597343770941474e4c722e2a20367e794861e1b86c68
+      value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
       flags: 0
       flags: 0
     RecentlyUsedSceneGuid-9:
     RecentlyUsedSceneGuid-9:
-      value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
+      value: 52570c02000d5e025a58597212725c4440161c2e797a75607f2c4467b7b3323e
       flags: 0
       flags: 0
     Systems Window:
     Systems Window:
       value: 183b144645154b7802000a2b17364d11021e17246e72662b47695d73a2a07478a2a505e1e82d6f2f100cca3210371526d1051c05e22a040f2507f00b32f01c061ccb5a9f5ace1e10d81c50a48d5d91a3959694aa9ad8efd7c9f2afe0f1c0fcfdf6f8b6f2a5a6dacfb89debbfa1cbc9c3f5c3bac18e9c89c1bbdec2d6f2b992939996c59699c79ae8d182b7baad82aba0b0aea88398abdbf1dd8a8ea765ffc520262728fafcf8f6c28eb162945c71898d6167877a72a980809c9f71cecece859d579fd5f106dbdadb21de0dde237c686c76706641634c764f547c624a7e622d6628286620686f653d2b635a0204003e0805017509093043470e3643041c5d5b415c54450e1c424b420f6e4b634e636263696655641a1f273c0f083c1102ec362de62318e9ea25ab61ade8ed0ee30655b0b6b7b8176615
       value: 183b144645154b7802000a2b17364d11021e17246e72662b47695d73a2a07478a2a505e1e82d6f2f100cca3210371526d1051c05e22a040f2507f00b32f01c061ccb5a9f5ace1e10d81c50a48d5d91a3959694aa9ad8efd7c9f2afe0f1c0fcfdf6f8b6f2a5a6dacfb89debbfa1cbc9c3f5c3bac18e9c89c1bbdec2d6f2b992939996c59699c79ae8d182b7baad82aba0b0aea88398abdbf1dd8a8ea765ffc520262728fafcf8f6c28eb162945c71898d6167877a72a980809c9f71cecece859d579fd5f106dbdadb21de0dde237c686c76706641634c764f547c624a7e622d6628286620686f653d2b635a0204003e0805017509093043470e3643041c5d5b415c54450e1c424b420f6e4b634e636263696655641a1f273c0f083c1102ec362de62318e9ea25ab61ade8ed0ee30655b0b6b7b8176615

+ 147 - 101
UserSettings/Layouts/CurrentMaximizeLayout.dwlt

@@ -21,8 +21,8 @@ MonoBehaviour:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
     y: 30
     y: 30
-    width: 2560
-    height: 1307
+    width: 1916
+    height: 976
   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
@@ -36,22 +36,22 @@ MonoBehaviour:
   m_PrefabAsset: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 0}
   m_GameObject: {fileID: 0}
   m_Enabled: 1
   m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 13974, guid: 0000000000000000e000000000000000, type: 0}
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
   m_Name: 
   m_Name: 
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
   m_MinSize: {x: 200, y: 200}
   m_MinSize: {x: 200, y: 200}
   m_MaxSize: {x: 4000, y: 4000}
   m_MaxSize: {x: 4000, y: 4000}
   m_TitleContent:
   m_TitleContent:
-    m_Text: Simulator
-    m_Image: {fileID: 8720083202187608617, guid: 0000000000000000d000000000000000, type: 0}
+    m_Text: Game
+    m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0}
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 0
-    y: 346
-    width: 1209
-    height: 1013
+    x: 8
+    y: 312
+    width: 904
+    height: 725
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -62,38 +62,71 @@ MonoBehaviour:
     m_LastAppliedPresetName: Default
     m_LastAppliedPresetName: Default
     m_SaveData: []
     m_SaveData: []
     m_OverlaysVisible: 1
     m_OverlaysVisible: 1
-  m_SerializedViewNames:
-  - UnityEditor.GameView
-  m_SerializedViewValues:
-  - D:\Server\NetServer\NetServer\XiuXianGame\Library\PlayModeViewStates\b79c504529b25c048b1625849f5792f5
-  m_PlayModeViewName: Device Simulator
+  m_SerializedViewNames: []
+  m_SerializedViewValues: []
+  m_PlayModeViewName: GameView
   m_ShowGizmos: 0
   m_ShowGizmos: 0
   m_TargetDisplay: 0
   m_TargetDisplay: 0
-  m_ClearColor: {r: 0, g: 0, b: 0, a: 1}
-  m_TargetSize: {x: 961, y: 2081}
+  m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
+  m_TargetSize: {x: 750, y: 1624}
   m_TextureFilterMode: 0
   m_TextureFilterMode: 0
   m_TextureHideFlags: 61
   m_TextureHideFlags: 61
   m_RenderIMGUI: 1
   m_RenderIMGUI: 1
-  m_EnterPlayModeBehavior: 2
+  m_EnterPlayModeBehavior: 0
   m_UseMipMap: 0
   m_UseMipMap: 0
-  m_SimulatorState:
-    controlPanelVisible: 0
-    controlPanelWidth: 0
-    controlPanelFoldoutKeys:
-    - UnityEditor.DeviceSimulation.ApplicationSettingsPlugin
-    controlPanelFoldoutValues: 00
-    pluginNames:
-    - UnityEditor.DeviceSimulation.ApplicationSettingsPlugin
-    pluginStates:
-    - '{}'
-    scale: 33
-    fitToScreenEnabled: 0
-    rotationDegree: 0
-    highlightSafeAreaEnabled: 0
-    friendlyName: Apple iPhone 12 Pro
-    screenIndex: 0
-    networkReachability: 1
-    systemLanguage: 10
+  m_VSyncEnabled: 0
+  m_Gizmos: 0
+  m_Stats: 0
+  m_SelectedSizes: 00000000000000000000000013000000000000000000000000000000000000000000000000000000
+  m_ZoomArea:
+    m_HRangeLocked: 0
+    m_VRangeLocked: 0
+    hZoomLockedByDefault: 0
+    vZoomLockedByDefault: 0
+    m_HBaseRangeMin: -375
+    m_HBaseRangeMax: 375
+    m_VBaseRangeMin: -812
+    m_VBaseRangeMax: 812
+    m_HAllowExceedBaseRangeMin: 1
+    m_HAllowExceedBaseRangeMax: 1
+    m_VAllowExceedBaseRangeMin: 1
+    m_VAllowExceedBaseRangeMax: 1
+    m_ScaleWithWindow: 0
+    m_HSlider: 0
+    m_VSlider: 0
+    m_IgnoreScrollWheelUntilClicked: 0
+    m_EnableMouseInput: 0
+    m_EnableSliderZoomHorizontal: 0
+    m_EnableSliderZoomVertical: 0
+    m_UniformScale: 1
+    m_UpDirection: 1
+    m_DrawArea:
+      serializedVersion: 2
+      x: 0
+      y: 21
+      width: 904
+      height: 704
+    m_Scale: {x: 0.43349755, y: 0.43349755}
+    m_Translation: {x: 452, y: 352}
+    m_MarginLeft: 0
+    m_MarginRight: 0
+    m_MarginTop: 0
+    m_MarginBottom: 0
+    m_LastShownAreaInsideMargins:
+      serializedVersion: 2
+      x: -1042.6818
+      y: -812
+      width: 2085.3635
+      height: 1624
+    m_MinimalGUI: 1
+  m_defaultScale: 0.43349755
+  m_LastWindowPixelSize: {x: 904, y: 725}
+  m_ClearInEditMode: 1
+  m_NoCameraWarning: 1
+  m_LowResolutionForAspectRatios: 01000001000000000000
+  m_XRRenderMode: 0
+  m_RenderTexture: {fileID: 0}
+  m_showToolbar: 1
 --- !u!114 &3
 --- !u!114 &3
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
@@ -113,8 +146,8 @@ MonoBehaviour:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
     y: 0
     y: 0
-    width: 1210
-    height: 1307
+    width: 905
+    height: 976
   m_MinSize: {x: 100, y: 100}
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 8096, y: 16192}
   m_MaxSize: {x: 8096, y: 16192}
   vertical: 1
   vertical: 1
@@ -137,10 +170,10 @@ MonoBehaviour:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
     y: 0
     y: 0
-    width: 1210
-    height: 273
-  m_MinSize: {x: 201, y: 221}
-  m_MaxSize: {x: 4001, y: 4021}
+    width: 905
+    height: 230
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 5}
   m_ActualView: {fileID: 5}
   m_Panes:
   m_Panes:
   - {fileID: 5}
   - {fileID: 5}
@@ -166,10 +199,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 0
-    y: 73
-    width: 1209
-    height: 252
+    x: 8
+    y: 82
+    width: 904
+    height: 209
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -517,8 +550,21 @@ MonoBehaviour:
       layout: 4
       layout: 4
       size: {x: 0, y: 0}
       size: {x: 0, y: 0}
       sizeOverriden: 0
       sizeOverriden: 0
+    - dockPosition: 1
+      containerId: overlay-container--right
+      floating: 0
+      collapsed: 0
+      displayed: 1
+      snapOffset: {x: 48, y: 48}
+      snapOffsetDelta: {x: 0, y: 0}
+      snapCorner: 0
+      id: UnityEditor.SceneViewCameraOverlay
+      index: 13
+      layout: 4
+      size: {x: 0, y: 0}
+      sizeOverriden: 0
     m_OverlaysVisible: 1
     m_OverlaysVisible: 1
-  m_WindowGUID: e1470ae5da6abab429889f1c083ba9a1
+  m_WindowGUID: e8ca080b221d3f348856e12226052b9f
   m_Gizmos: 1
   m_Gizmos: 1
   m_OverrideSceneCullingMask: 6917529027641081856
   m_OverrideSceneCullingMask: 6917529027641081856
   m_SceneIsLit: 1
   m_SceneIsLit: 1
@@ -528,9 +574,9 @@ MonoBehaviour:
   m_PlayAudio: 0
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_AudioPlay: 0
   m_Position:
   m_Position:
-    m_Target: {x: 0.30995086, y: -1.4264529, z: -0.005822844}
+    m_Target: {x: 375, y: 812, z: 0}
     speed: 2
     speed: 2
-    m_Value: {x: 0.30995086, y: -1.4264529, z: -0.005822844}
+    m_Value: {x: 375, y: 812, z: 0}
   m_RenderMode: 0
   m_RenderMode: 0
   m_CameraMode:
   m_CameraMode:
     drawMode: 0
     drawMode: 0
@@ -580,9 +626,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: 2.274583
+    m_Target: 1028.0233
     speed: 2
     speed: 2
-    m_Value: 2.274583
+    m_Value: 1028.0233
   m_Ortho:
   m_Ortho:
     m_Target: 1
     m_Target: 1
     speed: 2
     speed: 2
@@ -619,17 +665,17 @@ MonoBehaviour:
   m_Enabled: 1
   m_Enabled: 1
   m_EditorHideFlags: 1
   m_EditorHideFlags: 1
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: SimulatorWindow
+  m_Name: 
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
   m_Children: []
   m_Children: []
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
-    y: 273
-    width: 1210
-    height: 1034
-  m_MinSize: {x: 201, y: 221}
-  m_MaxSize: {x: 4001, y: 4021}
+    y: 230
+    width: 905
+    height: 746
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 2}
   m_ActualView: {fileID: 2}
   m_Panes:
   m_Panes:
   - {fileID: 2}
   - {fileID: 2}
@@ -650,10 +696,10 @@ MonoBehaviour:
   m_Children: []
   m_Children: []
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1210
+    x: 905
     y: 0
     y: 0
-    width: 411
-    height: 1307
+    width: 275
+    height: 976
   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: 8}
   m_ActualView: {fileID: 8}
@@ -681,10 +727,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1210
-    y: 73
-    width: 409
-    height: 1286
+    x: 913
+    y: 82
+    width: 273
+    height: 955
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -698,9 +744,9 @@ MonoBehaviour:
   m_SceneHierarchy:
   m_SceneHierarchy:
     m_TreeViewState:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
       scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: 
+      m_SelectedIDs: 64620100
       m_LastClickedID: 0
       m_LastClickedID: 0
-      m_ExpandedIDs: 0aceedff94d1edffc2d4edffbcd5edffc6d5edffd0d5edffdad5edff28d7edff9c65efffc665efffca65efffce65efffdc65efff12e8faff
+      m_ExpandedIDs: eac0ffff
       m_RenameOverlay:
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_UserAcceptedRename: 0
         m_Name: 
         m_Name: 
@@ -723,7 +769,7 @@ MonoBehaviour:
     m_LockTracker:
     m_LockTracker:
       m_IsLocked: 0
       m_IsLocked: 0
     m_CurrentSortingName: TransformSorting
     m_CurrentSortingName: TransformSorting
-  m_WindowGUID: 76fda8ca3975cad4fbaf99caec123f54
+  m_WindowGUID: aaf4eaa9bcd57ea468179db2b9e4fb70
 --- !u!114 &9
 --- !u!114 &9
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
@@ -739,10 +785,10 @@ MonoBehaviour:
   m_Children: []
   m_Children: []
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1621
+    x: 1180
     y: 0
     y: 0
-    width: 367
-    height: 1307
+    width: 387
+    height: 976
   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: 10}
   m_ActualView: {fileID: 10}
@@ -770,10 +816,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1621
-    y: 73
-    width: 365
-    height: 1286
+    x: 1188
+    y: 82
+    width: 385
+    height: 955
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -785,7 +831,7 @@ MonoBehaviour:
     m_SaveData: []
     m_SaveData: []
     m_OverlaysVisible: 1
     m_OverlaysVisible: 1
   m_SearchFilter:
   m_SearchFilter:
-    m_NameFilter: TESTC
+    m_NameFilter: gamer
     m_ClassNames: []
     m_ClassNames: []
     m_AssetLabels: []
     m_AssetLabels: []
     m_AssetBundleNames: []
     m_AssetBundleNames: []
@@ -795,24 +841,24 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SkipHidden: 0
     m_SearchArea: 1
     m_SearchArea: 1
     m_Folders:
     m_Folders:
-    - Assets
+    - Assets/Scripts/ThirdParty/Crasheye
     m_Globs: []
     m_Globs: []
-    m_OriginalText: TESTC
+    m_OriginalText: gamer
     m_ImportLogFlags: 0
     m_ImportLogFlags: 0
     m_FilterByTypeIntersection: 0
     m_FilterByTypeIntersection: 0
   m_ViewMode: 1
   m_ViewMode: 1
-  m_StartGridSize: 64
+  m_StartGridSize: 16
   m_LastFolders:
   m_LastFolders:
-  - Assets
-  m_LastFoldersGridSize: -1
+  - Assets/Scripts/ThirdParty/Crasheye
+  m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\Server\NetServer\NetServer\XiuXianGame
   m_LastProjectPath: D:\Server\NetServer\NetServer\XiuXianGame
   m_LockTracker:
   m_LockTracker:
     m_IsLocked: 0
     m_IsLocked: 0
   m_FolderTreeState:
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: 58ca0000
-    m_LastClickedID: 51800
-    m_ExpandedIDs: 000000005ea8000058ca00005aca00005cca00005eca000060ca000062ca000064ca000066ca000068ca00006aca00006cca00006eca000070ca000072ca000074ca000076ca000078ca00007aca00007cca00007eca000080ca000082ca000084ca000086ca000088ca00008aca000000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 1049}
+    m_SelectedIDs: 0e710100
+    m_LastClickedID: 94478
+    m_ExpandedIDs: 00000000aaac0000326f0100346f0100366f0100386f01003a6f01003c6f01003e6f0100406f0100426f0100446f0100466f0100486f01004a6f01004c6f01004e6f0100506f0100526f0100546f0100566f0100586f01005a6f01005c6f01005e6f0100606f0100626f0100646f0100a46f0100ce70010000ca9a3bffffff7f
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
       m_Name: 
       m_Name: 
@@ -840,7 +886,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_SelectedIDs: 
     m_LastClickedID: 0
     m_LastClickedID: 0
-    m_ExpandedIDs: 000000005ea8000058ca00005aca00005cca00005eca000060ca000062ca000064ca000066ca000068ca00006aca00006cca00006eca000070ca000072ca000074ca000076ca000078ca00007aca00007cca00007eca000080ca000082ca000084ca000086ca000088ca00008aca000000ca9a3bffffff7f
+    m_ExpandedIDs: 00000000aaac0000326f0100346f0100366f0100386f01003a6f01003c6f01003e6f0100406f0100426f0100446f0100466f0100486f01004a6f01004c6f01004e6f0100506f0100526f0100546f0100566f0100586f01005a6f01005c6f01005e6f0100606f0100626f0100646f0100
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
       m_Name: 
       m_Name: 
@@ -865,8 +911,8 @@ MonoBehaviour:
       m_Icon: {fileID: 0}
       m_Icon: {fileID: 0}
       m_ResourceFile: 
       m_ResourceFile: 
   m_ListAreaState:
   m_ListAreaState:
-    m_SelectedInstanceIDs: 
-    m_LastClickedInstanceID: 0
+    m_SelectedInstanceIDs: 64620100
+    m_LastClickedInstanceID: 90724
     m_HadKeyboardFocusLastEvent: 1
     m_HadKeyboardFocusLastEvent: 1
     m_ExpandedInstanceIDs: 
     m_ExpandedInstanceIDs: 
     m_RenameOverlay:
     m_RenameOverlay:
@@ -884,7 +930,7 @@ MonoBehaviour:
       m_IsRenaming: 0
       m_IsRenaming: 0
       m_OriginalEventType: 11
       m_OriginalEventType: 11
       m_IsRenamingFilename: 1
       m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 0}
+      m_ClientGUIView: {fileID: 9}
     m_CreateAssetUtility:
     m_CreateAssetUtility:
       m_EndAction: {fileID: 0}
       m_EndAction: {fileID: 0}
       m_InstanceID: 0
       m_InstanceID: 0
@@ -893,9 +939,9 @@ MonoBehaviour:
       m_ResourceFile: 
       m_ResourceFile: 
     m_NewAssetIndexInList: -1
     m_NewAssetIndexInList: -1
     m_ScrollPosition: {x: 0, y: 0}
     m_ScrollPosition: {x: 0, y: 0}
-    m_GridSize: 64
+    m_GridSize: 16
   m_SkipHiddenPackages: 0
   m_SkipHiddenPackages: 0
-  m_DirectoriesAreaWidth: 115
+  m_DirectoriesAreaWidth: 175
 --- !u!114 &11
 --- !u!114 &11
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
@@ -911,12 +957,12 @@ MonoBehaviour:
   m_Children: []
   m_Children: []
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1988
+    x: 1567
     y: 0
     y: 0
-    width: 572
-    height: 1307
-  m_MinSize: {x: 276, y: 71}
-  m_MaxSize: {x: 4001, y: 4021}
+    width: 349
+    height: 976
+  m_MinSize: {x: 275, y: 50}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 12}
   m_ActualView: {fileID: 12}
   m_Panes:
   m_Panes:
   - {fileID: 12}
   - {fileID: 12}
@@ -942,10 +988,10 @@ MonoBehaviour:
     m_Tooltip: 
     m_Tooltip: 
   m_Pos:
   m_Pos:
     serializedVersion: 2
     serializedVersion: 2
-    x: 1988
-    y: 73
-    width: 571
-    height: 1286
+    x: 1575
+    y: 82
+    width: 348
+    height: 955
   m_SerializedDataModeController:
   m_SerializedDataModeController:
     m_DataMode: 0
     m_DataMode: 0
     m_PreferredDataMode: 0
     m_PreferredDataMode: 0
@@ -959,11 +1005,11 @@ MonoBehaviour:
   m_ObjectsLockedBeforeSerialization: []
   m_ObjectsLockedBeforeSerialization: []
   m_InstanceIDsLockedBeforeSerialization: 
   m_InstanceIDsLockedBeforeSerialization: 
   m_PreviewResizer:
   m_PreviewResizer:
-    m_CachedPref: -160
+    m_CachedPref: 392
     m_ControlHash: -371814159
     m_ControlHash: -371814159
     m_PrefName: Preview_InspectorPreview
     m_PrefName: Preview_InspectorPreview
   m_LastInspectedObjectInstanceID: -1
   m_LastInspectedObjectInstanceID: -1
-  m_LastVerticalScrollValue: 305
+  m_LastVerticalScrollValue: 0
   m_GlobalObjectId: 
   m_GlobalObjectId: 
   m_InspectorMode: 0
   m_InspectorMode: 0
   m_LockTracker:
   m_LockTracker:

+ 161 - 52
UserSettings/Layouts/default-2022.dwlt

@@ -1,6 +1,30 @@
 %YAML 1.1
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
 %TAG !u! tag:yousandi.cn,2023:
 --- !u!114 &1
 --- !u!114 &1
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_PixelRect:
+    serializedVersion: 2
+    x: 2911
+    y: 502
+    width: 892
+    height: 537
+  m_ShowMode: 0
+  m_Title: Console
+  m_RootView: {fileID: 4}
+  m_MinSize: {x: 100, y: 121}
+  m_MaxSize: {x: 4000, y: 4021}
+  m_Maximized: 0
+--- !u!114 &2
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -19,12 +43,63 @@ MonoBehaviour:
     width: 2560
     width: 2560
     height: 1357
     height: 1357
   m_ShowMode: 4
   m_ShowMode: 4
-  m_Title: Hierarchy
-  m_RootView: {fileID: 2}
+  m_Title: Game
+  m_RootView: {fileID: 5}
   m_MinSize: {x: 875, y: 492}
   m_MinSize: {x: 875, y: 492}
   m_MaxSize: {x: 10000, y: 10000}
   m_MaxSize: {x: 10000, y: 10000}
   m_Maximized: 1
   m_Maximized: 1
---- !u!114 &2
+--- !u!114 &3
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: ConsoleWindow
+  m_EditorClassIdentifier: 
+  m_Children: []
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 892
+    height: 537
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_ActualView: {fileID: 15}
+  m_Panes:
+  - {fileID: 15}
+  m_Selected: 0
+  m_LastSelected: 0
+--- !u!114 &4
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Children:
+  - {fileID: 3}
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 892
+    height: 537
+  m_MinSize: {x: 100, y: 121}
+  m_MaxSize: {x: 4000, y: 4021}
+  vertical: 0
+  controlID: 372
+  draggingID: 0
+--- !u!114 &5
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -37,9 +112,9 @@ MonoBehaviour:
   m_Name: 
   m_Name: 
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
   m_Children:
   m_Children:
-  - {fileID: 3}
-  - {fileID: 4}
-  - {fileID: 5}
+  - {fileID: 6}
+  - {fileID: 7}
+  - {fileID: 8}
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
@@ -52,7 +127,7 @@ MonoBehaviour:
   m_TopViewHeight: 30
   m_TopViewHeight: 30
   m_UseBottomView: 1
   m_UseBottomView: 1
   m_BottomViewHeight: 20
   m_BottomViewHeight: 20
---- !u!114 &3
+--- !u!114 &6
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -74,7 +149,7 @@ MonoBehaviour:
   m_MinSize: {x: 0, y: 0}
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
   m_LastLoadedLayoutName: 
   m_LastLoadedLayoutName: 
---- !u!114 &4
+--- !u!114 &7
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -87,10 +162,10 @@ MonoBehaviour:
   m_Name: 
   m_Name: 
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
   m_Children:
   m_Children:
-  - {fileID: 6}
-  - {fileID: 7}
-  - {fileID: 8}
   - {fileID: 9}
   - {fileID: 9}
+  - {fileID: 10}
+  - {fileID: 11}
+  - {fileID: 12}
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
@@ -102,7 +177,7 @@ MonoBehaviour:
   vertical: 0
   vertical: 0
   controlID: 180
   controlID: 180
   draggingID: 0
   draggingID: 0
---- !u!114 &5
+--- !u!114 &8
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -123,7 +198,7 @@ MonoBehaviour:
     height: 20
     height: 20
   m_MinSize: {x: 0, y: 0}
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
---- !u!114 &6
+--- !u!114 &9
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -136,8 +211,8 @@ MonoBehaviour:
   m_Name: 
   m_Name: 
   m_EditorClassIdentifier: 
   m_EditorClassIdentifier: 
   m_Children:
   m_Children:
-  - {fileID: 10}
-  - {fileID: 11}
+  - {fileID: 13}
+  - {fileID: 14}
   m_Position:
   m_Position:
     serializedVersion: 2
     serializedVersion: 2
     x: 0
     x: 0
@@ -149,7 +224,7 @@ MonoBehaviour:
   vertical: 1
   vertical: 1
   controlID: 29
   controlID: 29
   draggingID: 0
   draggingID: 0
---- !u!114 &7
+--- !u!114 &10
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -168,14 +243,14 @@ MonoBehaviour:
     y: 0
     y: 0
     width: 367
     width: 367
     height: 1307
     height: 1307
-  m_MinSize: {x: 202, y: 221}
-  m_MaxSize: {x: 4002, y: 4021}
-  m_ActualView: {fileID: 12}
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_ActualView: {fileID: 16}
   m_Panes:
   m_Panes:
-  - {fileID: 12}
+  - {fileID: 16}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &8
+--- !u!114 &11
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -196,12 +271,12 @@ MonoBehaviour:
     height: 1307
     height: 1307
   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: 14}
+  m_ActualView: {fileID: 18}
   m_Panes:
   m_Panes:
-  - {fileID: 14}
+  - {fileID: 18}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &9
+--- !u!114 &12
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -222,12 +297,12 @@ MonoBehaviour:
     height: 1307
     height: 1307
   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: 13}
+  m_ActualView: {fileID: 17}
   m_Panes:
   m_Panes:
-  - {fileID: 13}
+  - {fileID: 17}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &10
+--- !u!114 &13
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -246,14 +321,14 @@ MonoBehaviour:
     y: 0
     y: 0
     width: 1209
     width: 1209
     height: 308
     height: 308
-  m_MinSize: {x: 201, y: 221}
-  m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 16}
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_ActualView: {fileID: 20}
   m_Panes:
   m_Panes:
-  - {fileID: 16}
+  - {fileID: 20}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &11
+--- !u!114 &14
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -274,12 +349,46 @@ MonoBehaviour:
     height: 999
     height: 999
   m_MinSize: {x: 201, y: 221}
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 15}
+  m_ActualView: {fileID: 19}
   m_Panes:
   m_Panes:
-  - {fileID: 15}
+  - {fileID: 19}
   m_Selected: 0
   m_Selected: 0
   m_LastSelected: 0
   m_LastSelected: 0
---- !u!114 &12
+--- !u!114 &15
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Console
+    m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: 2911
+    y: 502
+    width: 892
+    height: 516
+  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
+--- !u!114 &16
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -318,7 +427,7 @@ MonoBehaviour:
       scrollPos: {x: 0, y: 0}
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_SelectedIDs: 
       m_LastClickedID: 0
       m_LastClickedID: 0
-      m_ExpandedIDs: 5efaffff
+      m_ExpandedIDs: b8faffff
       m_RenameOverlay:
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_UserAcceptedRename: 0
         m_Name: 
         m_Name: 
@@ -334,7 +443,7 @@ MonoBehaviour:
         m_IsRenaming: 0
         m_IsRenaming: 0
         m_OriginalEventType: 11
         m_OriginalEventType: 11
         m_IsRenamingFilename: 0
         m_IsRenamingFilename: 0
-        m_ClientGUIView: {fileID: 7}
+        m_ClientGUIView: {fileID: 10}
       m_SearchString: 
       m_SearchString: 
     m_ExpandedScenes: []
     m_ExpandedScenes: []
     m_CurrenRootInstanceID: 0
     m_CurrenRootInstanceID: 0
@@ -342,7 +451,7 @@ MonoBehaviour:
       m_IsLocked: 0
       m_IsLocked: 0
     m_CurrentSortingName: TransformSorting
     m_CurrentSortingName: TransformSorting
   m_WindowGUID: aaf4eaa9bcd57ea468179db2b9e4fb70
   m_WindowGUID: aaf4eaa9bcd57ea468179db2b9e4fb70
---- !u!114 &13
+--- !u!114 &17
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -389,7 +498,7 @@ MonoBehaviour:
   m_LockTracker:
   m_LockTracker:
     m_IsLocked: 0
     m_IsLocked: 0
   m_PreviewWindow: {fileID: 0}
   m_PreviewWindow: {fileID: 0}
---- !u!114 &14
+--- !u!114 &18
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -424,7 +533,7 @@ MonoBehaviour:
     m_SaveData: []
     m_SaveData: []
     m_OverlaysVisible: 1
     m_OverlaysVisible: 1
   m_SearchFilter:
   m_SearchFilter:
-    m_NameFilter: LogT
+    m_NameFilter: 
     m_ClassNames: []
     m_ClassNames: []
     m_AssetLabels: []
     m_AssetLabels: []
     m_AssetBundleNames: []
     m_AssetBundleNames: []
@@ -434,24 +543,24 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SkipHidden: 0
     m_SearchArea: 1
     m_SearchArea: 1
     m_Folders:
     m_Folders:
-    - Assets/Scripts/GameUI/UI/MainPanel
+    - Assets/Scripts/Core/Log
     m_Globs: []
     m_Globs: []
-    m_OriginalText: LogT
+    m_OriginalText: 
     m_ImportLogFlags: 0
     m_ImportLogFlags: 0
     m_FilterByTypeIntersection: 0
     m_FilterByTypeIntersection: 0
   m_ViewMode: 1
   m_ViewMode: 1
   m_StartGridSize: 16
   m_StartGridSize: 16
   m_LastFolders:
   m_LastFolders:
-  - Assets/Scripts/GameUI/UI/MainPanel
+  - Assets/Scripts/Core/Log
   m_LastFoldersGridSize: 16
   m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\Server\NetServer\NetServer\XiuXianGame
   m_LastProjectPath: D:\Server\NetServer\NetServer\XiuXianGame
   m_LockTracker:
   m_LockTracker:
     m_IsLocked: 0
     m_IsLocked: 0
   m_FolderTreeState:
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 1615}
-    m_SelectedIDs: 06cb0000
-    m_LastClickedID: 51974
-    m_ExpandedIDs: 0000000024a800001eca000020ca000022ca000024ca000026ca000028ca00002aca00002cca00002eca000030ca000032ca000034ca000036ca000038ca00003aca00003cca00003eca000040ca000042ca000044ca000046ca000048ca00004aca00004cca000088ca000008cb00000acb000000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 366}
+    m_SelectedIDs: 26cb0000
+    m_LastClickedID: 52006
+    m_ExpandedIDs: 0000000016a8000010ca000012ca000014ca000016ca000018ca00001aca00001cca00001eca000020ca000022ca000024ca000026ca000028ca00002aca00002cca00002eca000030ca000032ca000034ca000036ca000038ca00003aca00003cca00003eca00007aca0000faca0000fcca000000ca9a3bffffff7f
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
       m_Name: 
       m_Name: 
@@ -479,7 +588,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_SelectedIDs: 
     m_LastClickedID: 0
     m_LastClickedID: 0
-    m_ExpandedIDs: 0000000024a800001eca000020ca000022ca000024ca000026ca000028ca00002aca00002cca00002eca000030ca000032ca000034ca000036ca000038ca00003aca00003cca00003eca000040ca000042ca000044ca000046ca000048ca00004aca00004cca0000
+    m_ExpandedIDs: 0000000016a8000010ca000012ca000014ca000016ca000018ca00001aca00001cca00001eca000020ca000022ca000024ca000026ca000028ca00002aca00002cca00002eca000030ca000032ca000034ca000036ca000038ca00003aca00003cca00003eca0000
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
       m_Name: 
       m_Name: 
@@ -506,7 +615,7 @@ MonoBehaviour:
   m_ListAreaState:
   m_ListAreaState:
     m_SelectedInstanceIDs: 
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
     m_LastClickedInstanceID: 0
-    m_HadKeyboardFocusLastEvent: 0
+    m_HadKeyboardFocusLastEvent: 1
     m_ExpandedInstanceIDs: 
     m_ExpandedInstanceIDs: 
     m_RenameOverlay:
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_UserAcceptedRename: 0
@@ -523,7 +632,7 @@ MonoBehaviour:
       m_IsRenaming: 0
       m_IsRenaming: 0
       m_OriginalEventType: 11
       m_OriginalEventType: 11
       m_IsRenamingFilename: 1
       m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 8}
+      m_ClientGUIView: {fileID: 11}
     m_CreateAssetUtility:
     m_CreateAssetUtility:
       m_EndAction: {fileID: 0}
       m_EndAction: {fileID: 0}
       m_InstanceID: 0
       m_InstanceID: 0
@@ -535,7 +644,7 @@ MonoBehaviour:
     m_GridSize: 16
     m_GridSize: 16
   m_SkipHiddenPackages: 0
   m_SkipHiddenPackages: 0
   m_DirectoriesAreaWidth: 175
   m_DirectoriesAreaWidth: 175
---- !u!114 &15
+--- !u!114 &19
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}
@@ -633,7 +742,7 @@ MonoBehaviour:
   m_LowResolutionForAspectRatios: 01000001000000000000
   m_LowResolutionForAspectRatios: 01000001000000000000
   m_XRRenderMode: 0
   m_XRRenderMode: 0
   m_RenderTexture: {fileID: 0}
   m_RenderTexture: {fileID: 0}
---- !u!114 &16
+--- !u!114 &20
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
   m_CorrespondingSourceObject: {fileID: 0}

+ 2 - 0
XiuXianGame.sln.DotSettings.user

@@ -84,6 +84,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AS2002_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa01b6d4ffd8a40da9aa90b33ff5055f23dc00_003Fce_003Fab212403_003FS2002_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AS2002_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa01b6d4ffd8a40da9aa90b33ff5055f23dc00_003Fce_003Fab212403_003FS2002_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AScreen_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fe9_003F4d041715_003FScreen_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AScreen_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fe9_003F4d041715_003FScreen_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AScriptableObject_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fee_003Fe3748593_003FScriptableObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AScriptableObject_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fee_003Fe3748593_003FScriptableObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASHA1_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3789ee403a53437cbb6b5d9ab6311f51573620_003Ff4_003F71b5cd79_003FSHA1_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShader_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F21_003Fcaaaf4a6_003FShader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShader_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F21_003Fcaaaf4a6_003FShader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShaderVariantCollection_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F8c_003F3e54d954_003FShaderVariantCollection_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShaderVariantCollection_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F8c_003F3e54d954_003FShaderVariantCollection_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASingle_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb18a8b3398e74bca86895881dd02956c573648_003F16_003F2be7d3ed_003FSingle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASingle_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb18a8b3398e74bca86895881dd02956c573648_003F16_003F2be7d3ed_003FSingle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@@ -91,6 +92,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATaskStatus_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F39_003F7aac61ac_003FTaskStatus_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATaskStatus_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F39_003F7aac61ac_003FTaskStatus_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATextAsset_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F50_003F0344ee3c_003FTextAsset_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATextAsset_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F50_003F0344ee3c_003FTextAsset_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Ff0_003F199a436f_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Ff0_003F199a436f_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc97329dd3fa74b7aa23fdb625c1fe90446ac00_003F52_003Ff694390e_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F3b_003F1a234af4_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F3b_003F1a234af4_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATime_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F52d61f6cbc024a7eab0cd1f462e4bc53104c00_003Fc6_003F8739ef35_003FTime_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATime_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F52d61f6cbc024a7eab0cd1f462e4bc53104c00_003Fc6_003F8739ef35_003FTime_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATrailRenderer_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fe4_003F6073d988_003FTrailRenderer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATrailRenderer_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fe4_003F6073d988_003FTrailRenderer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

BIN
美术/商店所需/无logo宣传图横.png


BIN
美术/商店所需/无logo宣传图竖.png


Some files were not shown because too many files changed in this diff