Bläddra i källkod

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

DESKTOP-FB72PO8\Administrator 4 månader sedan
förälder
incheckning
4e43f82c00
54 ändrade filer med 5083 tillägg och 856 borttagningar
  1. 0 0
      Assets/Art/UIAssets/TextrueJson/all.txt
  2. 1 1
      Assets/Art/UIAssets/TextrueJson/bg.txt
  3. 0 0
      Assets/Art/UIAssets/decorate/dec_Arrow_Down.png
  4. 147 0
      Assets/Art/UIAssets/decorate/dec_Arrow_Down.png.meta
  5. 303 83
      Assets/Res/Config/LanguageChineseConfig.json
  6. 43 1
      Assets/Res/UI/BoxPanel.prefab
  7. 43 1
      Assets/Res/UI/CombatHeroDiePanel.prefab
  8. 57 1
      Assets/Res/UI/EqRecyclePanel.prefab
  9. 321 1
      Assets/Res/UI/HeroBagPanel.prefab
  10. 958 1
      Assets/Res/UI/HeroDetailPanel.prefab
  11. 268 4
      Assets/Res/UI/MainUIPanel.prefab
  12. 849 35
      Assets/Res/UI/ProfessionEquipmentPanel.prefab
  13. 15 1
      Assets/Res/UI/RewardsPanel.prefab
  14. 280 1
      Assets/Res/UI/SpecificProfessionEquipmentPanel.prefab
  15. 530 0
      Assets/Res/UI/TxtGuildPanel.prefab
  16. 7 0
      Assets/Res/UI/TxtGuildPanel.prefab.meta
  17. 1 1
      Assets/Res/UIAtlas/all.spriteatlasv2
  18. 167 440
      Assets/Scenes/UIBuild.scene
  19. 4 0
      Assets/Scripts/Core/Event/Event/CustomEventType.cs
  20. 5 1
      Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_Boss.cs
  21. 5 3
      Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_GongJiang.cs
  22. 6 3
      Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_JiaRuFaShi.cs
  23. 4 2
      Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_MuShi.cs
  24. 5 0
      Assets/Scripts/GameLogic/Combat/CombatType/LevelBattleCombatType.cs
  25. 116 1
      Assets/Scripts/GameLogic/Equipment/EquipmentController.cs
  26. 1 1
      Assets/Scripts/GameLogic/Player/AccountFileInfo.cs
  27. 11 0
      Assets/Scripts/GameUI/Combat/CombatEquipFallManager.cs
  28. 10 2
      Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs
  29. 15 1
      Assets/Scripts/GameUI/UI/Hero/HeroBagPanel.cs
  30. 11 0
      Assets/Scripts/GameUI/UI/Hero/HeroBagPanelData.cs
  31. 20 2
      Assets/Scripts/GameUI/UI/Hero/HeroDetailPanel.cs
  32. 50 0
      Assets/Scripts/GameUI/UI/Hero/HeroUITools.cs
  33. 5 1
      Assets/Scripts/GameUI/UI/Hero/ProfessionEquipmentPanel.cs
  34. 11 0
      Assets/Scripts/GameUI/UI/Hero/ProfessionEquipmentPanelData.cs
  35. 1 1
      Assets/Scripts/GameUI/UI/Hero/SkillUIComponent.cs
  36. 11 0
      Assets/Scripts/GameUI/UI/Hero/SpecificProfessionEquipmentPanel.cs
  37. 11 0
      Assets/Scripts/GameUI/UI/Hero/SpecificProfessionEquipmentPanelData.cs
  38. 97 16
      Assets/Scripts/GameUI/UI/MainUIPanel.cs
  39. 11 1
      Assets/Scripts/GameUI/UI/MainUIPanelData.cs
  40. 8 0
      Assets/Scripts/GameUI/UI/UserGuild.meta
  41. 103 0
      Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanel.cs
  42. 11 0
      Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanel.cs.meta
  43. 62 0
      Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanelData.cs
  44. 11 0
      Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanelData.cs.meta
  45. 0 0
      Assets/StreamingAssets/assetConfig.txt
  46. BIN
      Excel2Json/Excel/Language.xlsx
  47. 1 1
      UGUIPack/uguiconfig.db
  48. 3 3
      UserSettings/EditorUserSettings.asset
  49. 483 245
      UserSettings/Layouts/default-2022.dwlt
  50. BIN
      美术/art_use_ui/all/Label_Bubble_Arrow.png
  51. BIN
      美术/art_use_ui/all/dec_Arrow_Down.png
  52. 0 0
      美术/unity_use_ui/TextrueJson/all.txt
  53. 1 1
      美术/unity_use_ui/TextrueJson/bg.txt
  54. BIN
      美术/unity_use_ui/decorate/dec_Arrow_Down.png

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Assets/Art/UIAssets/TextrueJson/all.txt


+ 1 - 1
Assets/Art/UIAssets/TextrueJson/bg.txt

@@ -1 +1 @@
-{"packName":"bg","isTyPack":false,"newTextureJson":[{"textrueName":"bg_appIcon","filePath":"/bg/bg_appIcon.png"},{"textrueName":"bg_Archer","filePath":"/bg/bg_Archer.png"},{"textrueName":"bg_herobagtop","filePath":"/bg/bg_herobagtop.png"},{"textrueName":"bg_herozbtop","filePath":"/bg/bg_herozbtop.png"},{"textrueName":"bg_logo","filePath":"/bg/bg_logo.png"},{"textrueName":"bg_Mage","filePath":"/bg/bg_Mage.png"},{"textrueName":"bg_priest","filePath":"/bg/bg_priest.png"},{"textrueName":"bg_warrior","filePath":"/bg/bg_warrior.png"},{"textrueName":"bg_zairu","filePath":"/bg/bg_zairu.png"}],"keyToValue":{}}
+{"packName":"bg","isTyPack":false,"newTextureJson":[{"textrueName":"bg_Archer","filePath":"/bg/bg_Archer.png"},{"textrueName":"bg_zairu","filePath":"/bg/bg_zairu.png"},{"textrueName":"bg_logo","filePath":"/bg/bg_logo.png"},{"textrueName":"bg_herozbtop","filePath":"/bg/bg_herozbtop.png"},{"textrueName":"bg_warrior","filePath":"/bg/bg_warrior.png"},{"textrueName":"bg_Mage","filePath":"/bg/bg_Mage.png"},{"textrueName":"bg_appIcon","filePath":"/bg/bg_appIcon.png"},{"textrueName":"bg_priest","filePath":"/bg/bg_priest.png"},{"textrueName":"bg_herobagtop","filePath":"/bg/bg_herobagtop.png"}],"keyToValue":{}}

+ 0 - 0
美术/art_use_ui/all/btn_Arrow_Down.png → Assets/Art/UIAssets/decorate/dec_Arrow_Down.png


+ 147 - 0
Assets/Art/UIAssets/decorate/dec_Arrow_Down.png.meta

@@ -0,0 +1,147 @@
+fileFormatVersion: 2
+guid: XXkWsyKkVC0R2UgtF82VmviinGl35GCzXjLJwb4DuDDmBYyUx4CfvsI=
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 303 - 83
Assets/Res/Config/LanguageChineseConfig.json

@@ -2,35 +2,35 @@
   "configList": [
     {
       "ID": 1,
-      "txt": "亚瑟·龙焰"
+      "txt": "亞瑟·龍焰"
     },
     {
       "ID": 2,
-      "txt": "恩·天戟"
+      "txt": "恩·天戟"
     },
     {
       "ID": 3,
-      "txt": "达米安·虎啸"
+      "txt": "達米安·虎嘯"
     },
     {
       "ID": 4,
-      "txt": "维克多·铁拳"
+      "txt": "維克多·鐵拳"
     },
     {
       "ID": 5,
-      "txt": "加雷斯·暴"
+      "txt": "加雷斯·暴"
     },
     {
       "ID": 6,
-      "txt": "伊莎白·月影"
+      "txt": "伊莎白·月影"
     },
     {
       "ID": 7,
-      "txt": "修·星辰"
+      "txt": "修·星辰"
     },
     {
       "ID": 8,
-      "txt": "卡特琳娜·霜"
+      "txt": "卡特琳娜·霜"
     },
     {
       "ID": 9,
@@ -38,47 +38,47 @@
     },
     {
       "ID": 10,
-      "txt": "艾琳娜·灵风"
+      "txt": "艾琳娜·靈風"
     },
     {
       "ID": 11,
-      "txt": "加百利·心"
+      "txt": "加百利·心"
     },
     {
       "ID": 12,
-      "txt": "索菲·慈恩"
+      "txt": "索菲·慈恩"
     },
     {
       "ID": 13,
-      "txt": "卢克·净魂"
+      "txt": "盧克·淨魂"
     },
     {
       "ID": 14,
-      "txt": "安娜贝尔·光耀"
+      "txt": "安娜貝爾·光耀"
     },
     {
       "ID": 15,
-      "txt": "伊莎拉·恩典"
+      "txt": "伊莎拉·恩典"
     },
     {
       "ID": 16,
-      "txt": "莱恩·影踪"
+      "txt": "萊恩·影蹤"
     },
     {
       "ID": 17,
-      "txt": "艾米·翠羽"
+      "txt": "艾米·翠羽"
     },
     {
       "ID": 18,
-      "txt": "德里克·疾风"
+      "txt": "德裏克·疾風"
     },
     {
       "ID": 19,
-      "txt": "维多利亚·夜刃"
+      "txt": "維多利亞·夜刃"
     },
     {
       "ID": 20,
-      "txt": "诺亚·林踪"
+      "txt": "諾亞·林蹤"
     },
     {
       "ID": 21,
@@ -86,27 +86,27 @@
     },
     {
       "ID": 22,
-      "txt": "攻力"
+      "txt": "攻力"
     },
     {
       "ID": 23,
-      "txt": "防力"
+      "txt": "防力"
     },
     {
       "ID": 24,
-      "txt": "攻速度"
+      "txt": "攻速度"
     },
     {
       "ID": 25,
-      "txt": "暴击几率"
+      "txt": "暴擊幾率"
     },
     {
       "ID": 26,
-      "txt": "暴击伤害"
+      "txt": "暴擊傷害"
     },
     {
       "ID": 27,
-      "txt": "闪避几率"
+      "txt": "閃避幾率"
     },
     {
       "ID": 28,
@@ -118,11 +118,11 @@
     },
     {
       "ID": 30,
-      "txt": "传说"
+      "txt": "傳說"
     },
     {
       "ID": 31,
-      "txt": "史"
+      "txt": "史"
     },
     {
       "ID": 32,
@@ -130,131 +130,131 @@
     },
     {
       "ID": 33,
-      "txt": "向前方释放1道剑气,造成<color=#7AC180>{0}%</color>攻击力的伤害。"
+      "txt": "向前方釋放1道劍氣,造成<color=#7AC180>{0}%</color>攻擊力的傷害。"
     },
     {
       "ID": 34,
-      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 35,
-      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 36,
-      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 37,
-      "txt": "英雄提升至{0}级强化该技能"
+      "txt": "英雄提升至{0}級強化該技能"
     },
     {
       "ID": 38,
-      "txt": "英雄提升至{0}级解锁该技能"
+      "txt": "英雄提升至{0}級解鎖該技能"
     },
     {
       "ID": 39,
-      "txt": "英雄提升至{0}星强化该技能"
+      "txt": "英雄提升至{0}星強化該技能"
     },
     {
       "ID": 40,
-      "txt": "英雄提升至{0}星解锁该技能"
+      "txt": "英雄提升至{0}星解鎖該技能"
     },
     {
       "ID": 41,
-      "txt": "{0}:"
+      "txt": "{0}:"
     },
     {
       "ID": 42,
-      "txt": "({0}级解锁)"
+      "txt": "({0}級解鎖)"
     },
     {
       "ID": 43,
-      "txt": "({0}星解)"
+      "txt": "({0}星解)"
     },
     {
       "ID": 44,
-      "txt": "技能已达最高等级"
+      "txt": "技能已達最高等級"
     },
     {
       "ID": 45,
-      "txt": "旋风斩"
+      "txt": "旋風斬"
     },
     {
       "ID": 46,
-      "txt": "对前方范围释放火焰,对范围内的敌人进行多次灼烧,每次造成<color=#7AC180>{0}%</color>攻击力的伤害,持续<color=#7AC180>{1}秒</color>"
+      "txt": "對前方範圍釋放火焰,對範圍內的敵人進行多次灼燒,每次造成<color=#7AC180>{0}%</color>攻擊力的傷害,持續<color=#7AC180>{1}秒</color>"
     },
     {
       "ID": 47,
-      "txt": "每次造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "每次造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 48,
-      "txt": "每次造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "每次造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 49,
-      "txt": "持续时间提升至<color=#7AC180>{1}秒</color>。"
+      "txt": "持續時間提升至<color=#7AC180>{1}秒</color>。"
     },
     {
       "ID": 50,
-      "txt": "烈焰喷涌"
+      "txt": "烈焰噴湧"
     },
     {
       "ID": 51,
-      "txt": "对生命值最低的英雄,恢复<color=#7AC180>{0}%</color>攻击力的血量。"
+      "txt": "對生命值最低的英雄,恢復<color=#7AC180>{0}%</color>攻擊力的血量。"
     },
     {
       "ID": 52,
-      "txt": "恢的血量提升至<color=#7AC180>{0}%</color>。"
+      "txt": "恢的血量提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 53,
-      "txt": "恢的血量提升至<color=#7AC180>{0}%</color>。"
+      "txt": "恢的血量提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 54,
-      "txt": "恢的血量提升至<color=#7AC180>{0}%</color>。"
+      "txt": "恢的血量提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 55,
-      "txt": "光辉治愈"
+      "txt": "光輝治癒"
     },
     {
       "ID": 56,
-      "txt": "向前方连续射出多支魔法箭,造成<color=#7AC180>{0}%</color>攻击力的伤害。"
+      "txt": "向前方連續射出多支魔法箭,造成<color=#7AC180>{0}%</color>攻擊力的傷害。"
     },
     {
       "ID": 57,
-      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 58,
-      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 59,
-      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
+      "txt": "造成的害提升至<color=#7AC180>{0}%</color>。"
     },
     {
       "ID": 60,
-      "txt": "箭羽暴"
+      "txt": "箭羽暴"
     },
     {
       "ID": 61,
-      "txt": "解"
+      "txt": "解"
     },
     {
       "ID": 62,
-      "txt": "等{0}>>{1}"
+      "txt": "等{0}>>{1}"
     },
     {
       "ID": 63,
-      "txt": "主力英雄等级差不得超过10级"
+      "txt": "主力英雄等級差不得超過10級"
     },
     {
       "ID": 64,
-      "txt": "主力英雄等:{0}"
+      "txt": "主力英雄等:{0}"
     },
     {
       "ID": 65,
@@ -262,11 +262,11 @@
     },
     {
       "ID": 66,
-      "txt": "钢铁意志"
+      "txt": "鋼鐵意志"
     },
     {
       "ID": 67,
-      "txt": "斩风之力"
+      "txt": "斬風之力"
     },
     {
       "ID": 68,
@@ -278,19 +278,19 @@
     },
     {
       "ID": 70,
-      "txt": "提高<color=#7AC180>{0}%</color>%的防值"
+      "txt": "提高<color=#7AC180>{0}%</color>%的防值"
     },
     {
       "ID": 71,
-      "txt": "额外释放<color=#7AC180>{0}</color>道[旋风斩]的剑气"
+      "txt": "額外釋放<color=#7AC180>{0}</color>道[旋風斬]的劍氣"
     },
     {
       "ID": 72,
-      "txt": "降低<color=#7AC180>{0}%</color>的暴击伤害"
+      "txt": "降低<color=#7AC180>{0}%</color>的暴擊傷害"
     },
     {
       "ID": 73,
-      "txt": "提升<color=#7AC180>{0}%</color>%的攻力"
+      "txt": "提升<color=#7AC180>{0}%</color>%的攻力"
     },
     {
       "ID": 74,
@@ -298,15 +298,15 @@
     },
     {
       "ID": 75,
-      "txt": "延长<color=#7AC180>{0}</color>秒[烈焰喷涌]的持续时间"
+      "txt": "延長<color=#7AC180>{0}</color>秒[烈焰噴湧]的持續時間"
     },
     {
       "ID": 76,
-      "txt": "提升<color=#7AC180>{0}%</color>%的技能暴率"
+      "txt": "提升<color=#7AC180>{0}%</color>%的技能暴率"
     },
     {
       "ID": 77,
-      "txt": "神力量"
+      "txt": "神力量"
     },
     {
       "ID": 78,
@@ -318,11 +318,11 @@
     },
     {
       "ID": 80,
-      "txt": "光辉复苏"
+      "txt": "光輝復蘇"
     },
     {
       "ID": 81,
-      "txt": "提升<color=#7AC180>{0}%</color>%的攻力"
+      "txt": "提升<color=#7AC180>{0}%</color>%的攻力"
     },
     {
       "ID": 82,
@@ -330,11 +330,11 @@
     },
     {
       "ID": 83,
-      "txt": "对生命值低于<color=#7AC180>{0}%</color>%的英雄,额外提高<color=#7AC180>{0}%</color>%的治疗量"
+      "txt": "對生命值低於<color=#7AC180>{0}%</color>%的英雄,額外提高<color=#7AC180>{0}%</color>%的治療量"
     },
     {
       "ID": 84,
-      "txt": "同时治疗<color=#7AC180>{0}</color>名英雄"
+      "txt": "同時治療<color=#7AC180>{0}</color>名英雄"
     },
     {
       "ID": 85,
@@ -346,15 +346,15 @@
     },
     {
       "ID": 87,
-      "txt": "无尽射击"
+      "txt": "無盡射擊"
     },
     {
       "ID": 88,
-      "txt": "终结射击"
+      "txt": "終結射擊"
     },
     {
       "ID": 89,
-      "txt": "提升<color=#7AC180>{0}%</color>%的攻力"
+      "txt": "提升<color=#7AC180>{0}%</color>%的攻力"
     },
     {
       "ID": 90,
@@ -362,11 +362,11 @@
     },
     {
       "ID": 91,
-      "txt": "增加<color=#7AC180>{0}</color>支[连续射击]的魔法箭"
+      "txt": "增加<color=#7AC180>{0}</color>支[連續射擊]的魔法箭"
     },
     {
       "ID": 92,
-      "txt": "对生命值低于<color=#7AC180>{0}%</color>的敌人,额外造成<color=#7AC180>{0}%</color>伤害"
+      "txt": "對生命值低於<color=#7AC180>{0}%</color>的敵人,額外造成<color=#7AC180>{0}%</color>傷害"
     },
     {
       "ID": 93,
@@ -378,27 +378,247 @@
     },
     {
       "ID": 95,
-      "txt": "烈焰持"
+      "txt": "烈焰持"
     },
     {
       "ID": 96,
-      "txt": "超凡暴"
+      "txt": "超凡暴"
     },
     {
       "ID": 97,
-      "txt": "战士装备"
+      "txt": "戰士裝備"
     },
     {
       "ID": 98,
-      "txt": "法师装备"
+      "txt": "法師裝備"
     },
     {
       "ID": 99,
-      "txt": "牧师装备"
+      "txt": "牧師裝備"
     },
     {
       "ID": 100,
-      "txt": "游侠装备"
+      "txt": "遊俠裝備"
+    },
+    {
+      "ID": 101,
+      "txt": "專屬裝備(敬請期待)"
+    },
+    {
+      "ID": 102,
+      "txt": "金幣不足"
+    },
+    {
+      "ID": 103,
+      "txt": "資源不足"
+    },
+    {
+      "ID": 104,
+      "txt": "英雄經驗,可用於升級英雄等級<color=#ff0000>(每殺死一個小怪能獲得經驗,擊殺boss能獲得大量經驗)</color>"
+    },
+    {
+      "ID": 105,
+      "txt": "金幣,用於抽取英雄寶箱<color=#ff0000>(每殺死一個小怪有幾率獲得金幣,擊殺boss能獲得大量金幣)</color>"
+    },
+    {
+      "ID": 106,
+      "txt": "紫鑽(敬請期待)"
+    },
+    {
+      "ID": 107,
+      "txt": "點擊螢幕空白處從天空中召喚一個隕石,對怪物造成1點傷害,並有<color=#ff0000>30%</color>概率獲得1枚金幣(boss怪<color=#ff0000>40%</color>掉落,金幣數量<color=#ff0000>+2</color>)"
+    },
+    {
+      "ID": 108,
+      "txt": "裝備"
+    },
+    {
+      "ID": 109,
+      "txt": "替補英雄"
+    },
+    {
+      "ID": 110,
+      "txt": "主力英雄"
+    },
+    {
+      "ID": 111,
+      "txt": "英雄背包"
+    },
+    {
+      "ID": 112,
+      "txt": "大自然的恩惠.寶箱"
+    },
+    {
+      "ID": 113,
+      "txt": "消耗對應的金幣開啟寶箱,獲得大自然的恩惠,有概率能獲得以下物品(英雄進階材料、 各種品質的武器)"
+    },
+    {
+      "ID": 114,
+      "txt": "友情提示10連抽更划算"
+    },
+    {
+      "ID": 115,
+      "txt": "失 敗"
+    },
+    {
+      "ID": 116,
+      "txt": "你太弱了,請提升實力再來挑戰"
+    },
+    {
+      "ID": 117,
+      "txt": "重新開始"
+    },
+    {
+      "ID": 118,
+      "txt": "....."
+    },
+    {
+      "ID": 119,
+      "txt": "發生了什麼事...."
+    },
+    {
+      "ID": 120,
+      "txt": "前方好像出現了超強怪物,大家做好準備。"
+    },
+    {
+      "ID": 121,
+      "txt": "越往深林深處走怪物越強大了,這裏的怪我有點招架不足了,我能不能加入你們一起探險?"
+    },
+    {
+      "ID": 122,
+      "txt": "沒問題,我們正缺你這樣的勇士。"
+    },
+    {
+      "ID": 123,
+      "txt": "歡迎加入我們的隊伍,讓我們一起看看深林深處是什麼在作怪。"
+    },
+    {
+      "ID": 124,
+      "txt": "(喘息著)這該死的怪物怎麼殺也殺不完!"
+    },
+    {
+      "ID": 125,
+      "txt": "怎麼辦要先回村莊嗎?"
+    },
+    {
+      "ID": 126,
+      "txt": "救命呀~"
+    },
+    {
+      "ID": 127,
+      "txt": "救命~~~"
+    },
+    {
+      "ID": 128,
+      "txt": "我名艾爾溫。這裏充滿了黑暗的氣息,我無法袖手旁觀."
+    },
+    {
+      "ID": 129,
+      "txt": "讓它們試試我的火焰~"
+    },
+    {
+      "ID": 130,
+      "txt": "太好了艾爾溫,感謝你的加入!"
+    },
+    {
+      "ID": 131,
+      "txt": "兄弟們,我堅持不住了,這一波怪物太猛了!"
+    },
+    {
+      "ID": 132,
+      "txt": "天空中突然閃出一個人影。"
+    },
+    {
+      "ID": 133,
+      "txt": "我是來自教堂的牧師,我來為你治療!"
+    },
+    {
+      "ID": 134,
+      "txt": "裝備回收"
+    },
+    {
+      "ID": 135,
+      "txt": "僅分解低級裝備,放心使用"
+    },
+    {
+      "ID": 136,
+      "txt": "回收獎勵"
+    },
+    {
+      "ID": 137,
+      "txt": "確認回收"
+    },
+    {
+      "ID": 138,
+      "txt": "升級"
+    },
+    {
+      "ID": 139,
+      "txt": "升星"
+    },
+    {
+      "ID": 140,
+      "txt": "生命"
+    },
+    {
+      "ID": 141,
+      "txt": "攻擊"
+    },
+    {
+      "ID": 142,
+      "txt": "防禦"
+    },
+    {
+      "ID": 143,
+      "txt": "等級"
+    },
+    {
+      "ID": 144,
+      "txt": "本次升級將大幅提升屬性"
+    },
+    {
+      "ID": 145,
+      "txt": "解鎖"
+    },
+    {
+      "ID": 146,
+      "txt": "冷卻{0}秒"
+    },
+    {
+      "ID": 147,
+      "txt": "職業裝備"
+    },
+    {
+      "ID": 148,
+      "txt": "戰士"
+    },
+    {
+      "ID": 149,
+      "txt": "法師"
+    },
+    {
+      "ID": 150,
+      "txt": "牧師"
+    },
+    {
+      "ID": 151,
+      "txt": "遊俠"
+    },
+    {
+      "ID": 152,
+      "txt": "獲得獎勵"
+    },
+    {
+      "ID": 153,
+      "txt": "一鍵裝備"
+    },
+    {
+      "ID": 154,
+      "txt": "點這裏, 提升英雄"
+    },
+    {
+      "ID": 155,
+      "txt": "技能"
     }
   ]
 }

+ 43 - 1
Assets/Res/UI/BoxPanel.prefab

@@ -44,7 +44,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: -3563, y: -182}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 750, y: 1334}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &8965272612517638377
 MonoBehaviour:
@@ -521,6 +521,7 @@ GameObject:
   - component: {fileID: 1395504526245340398}
   - component: {fileID: 7498556988576361376}
   - component: {fileID: 4062822801457872003}
+  - component: {fileID: 7623264381688979618}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: Text (Legacy)
@@ -620,6 +621,19 @@ MonoBehaviour:
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 3.03, y: -2.77}
   m_UseGraphicAlpha: 1
+--- !u!114 &7623264381688979618
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2480383054228350462}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 112
 --- !u!1 &2972985852202581853
 GameObject:
   m_ObjectHideFlags: 0
@@ -632,6 +646,7 @@ GameObject:
   - component: {fileID: 8313633874709827031}
   - component: {fileID: 7002168581208769732}
   - component: {fileID: 3505250749968322634}
+  - component: {fileID: 2944033596006560952}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: message
@@ -717,6 +732,19 @@ MonoBehaviour:
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 1, y: -1}
   m_UseGraphicAlpha: 1
+--- !u!114 &2944033596006560952
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2972985852202581853}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 113
 --- !u!1 &3049841431087626111
 GameObject:
   m_ObjectHideFlags: 0
@@ -920,6 +948,7 @@ GameObject:
   - component: {fileID: 2683536534778087535}
   - component: {fileID: 3403599604496558754}
   - component: {fileID: 7811836410668786241}
+  - component: {fileID: 789590480390429455}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: message (1)
@@ -989,6 +1018,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u53CB\u60C5\u63D0\u793A10\u8FDE\u62BD\u66F4\u5212\u7B97"
+--- !u!114 &789590480390429455
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5492516986451035646}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 114
 --- !u!1 &5523729796495235583
 GameObject:
   m_ObjectHideFlags: 0

+ 43 - 1
Assets/Res/UI/CombatHeroDiePanel.prefab

@@ -410,6 +410,7 @@ GameObject:
   - component: {fileID: 4732789714552782586}
   - component: {fileID: 2086373568043157529}
   - component: {fileID: 1089079095720410397}
+  - component: {fileID: 6364203268772396206}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: Text (Legacy)
@@ -479,6 +480,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u4F60\u592A\u5F31\u4E86\uFF0C\u8BF7\u63D0\u5347\u5B9E\u529B\u518D\u6765\u6311\u6218"
+--- !u!114 &6364203268772396206
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5614495180248260428}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 116
 --- !u!1 &5723808475305056174
 GameObject:
   m_ObjectHideFlags: 0
@@ -492,6 +506,7 @@ GameObject:
   - component: {fileID: 2143477766085887442}
   - component: {fileID: 3750531416279218773}
   - component: {fileID: 6257030161071468826}
+  - component: {fileID: 8496282919989923649}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: Text_shibai
@@ -591,6 +606,19 @@ MonoBehaviour:
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.6784314}
   m_EffectDistance: {x: 2.73, y: -3.39}
   m_UseGraphicAlpha: 1
+--- !u!114 &8496282919989923649
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5723808475305056174}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 115
 --- !u!1 &6238981342543973910
 GameObject:
   m_ObjectHideFlags: 0
@@ -769,7 +797,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: -2603, y: 1760}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 750, y: 1334}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &5576121568784299897
 MonoBehaviour:
@@ -807,6 +835,7 @@ GameObject:
   - component: {fileID: 1885857017647533627}
   - component: {fileID: 2617230386661053475}
   - component: {fileID: 4747770431483140316}
+  - component: {fileID: 9167164044077474587}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: Text (Legacy)
@@ -891,6 +920,19 @@ MonoBehaviour:
   m_EffectColor: {r: 0.08, g: 0.0517647, b: 0.009411764, a: 0.56078434}
   m_EffectDistance: {x: 1.65, y: -1.39}
   m_UseGraphicAlpha: 1
+--- !u!114 &9167164044077474587
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7178446007438412160}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 117
 --- !u!1 &7363585873547743305
 GameObject:
   m_ObjectHideFlags: 0

+ 57 - 1
Assets/Res/UI/EqRecyclePanel.prefab

@@ -38,7 +38,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 4}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 750, y: 1334}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1521278904985518640
 CanvasRenderer:
@@ -1121,6 +1121,7 @@ GameObject:
   - component: {fileID: 3183235745019377269}
   - component: {fileID: 2264125635943602183}
   - component: {fileID: 7218787915082947762}
+  - component: {fileID: 8796050205555064360}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txt (2)
@@ -1190,6 +1191,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u56DE\u6536\u5956\u52B1"
+--- !u!114 &8796050205555064360
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5203825452665584381}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 136
 --- !u!1 &5431136514239763981
 GameObject:
   m_ObjectHideFlags: 0
@@ -1281,6 +1295,7 @@ GameObject:
   - component: {fileID: 1496120003778871479}
   - component: {fileID: 2923867478086025204}
   - component: {fileID: 8045144202109628541}
+  - component: {fileID: 6550394267263367428}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txt
@@ -1350,6 +1365,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u786E\u8BA4\u56DE\u6536"
+--- !u!114 &6550394267263367428
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5675119288573334327}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 137
 --- !u!1 &5686360776868574338
 GameObject:
   m_ObjectHideFlags: 0
@@ -1363,6 +1391,7 @@ GameObject:
   - component: {fileID: 9067907664054521920}
   - component: {fileID: 8026688102264174980}
   - component: {fileID: 6158524179197130018}
+  - component: {fileID: 8840081653085843912}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txtTitle
@@ -1462,6 +1491,19 @@ MonoBehaviour:
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 5.18, y: -1.99}
   m_UseGraphicAlpha: 1
+--- !u!114 &8840081653085843912
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5686360776868574338}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 134
 --- !u!1 &6824848771942569640
 GameObject:
   m_ObjectHideFlags: 0
@@ -2149,6 +2191,7 @@ GameObject:
   - component: {fileID: 6865387838043282277}
   - component: {fileID: 6651184113478907773}
   - component: {fileID: 6521442048751020219}
+  - component: {fileID: 5263659972284783852}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txtIntro
@@ -2218,6 +2261,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u4EC5\u5206\u89E3\u4F4E\u7EA7\u88C5\u5907\uFF0C\u653E\u5FC3\u4F7F\u7528"
+--- !u!114 &5263659972284783852
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8925161061321938877}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 135
 --- !u!1 &9092576328284559768
 GameObject:
   m_ObjectHideFlags: 0

+ 321 - 1
Assets/Res/UI/HeroBagPanel.prefab

@@ -460,6 +460,7 @@ GameObject:
   - component: {fileID: 863734795245060117}
   - component: {fileID: 8781756907137386836}
   - component: {fileID: 8503848391182889331}
+  - component: {fileID: 8579598388852140971}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txtMainHero
@@ -529,6 +530,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u4E3B\u529B\u82F1\u96C4"
+--- !u!114 &8579598388852140971
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 316911648012210599}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 110
 --- !u!1 &345376244727652275
 GameObject:
   m_ObjectHideFlags: 0
@@ -1559,6 +1573,7 @@ GameObject:
   - component: {fileID: 6612398528495129329}
   - component: {fileID: 1000815139933130389}
   - component: {fileID: 8187823210225154571}
+  - component: {fileID: 5717688604492870297}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txt
@@ -1628,6 +1643,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u88C5\u5907"
+--- !u!114 &5717688604492870297
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 878113137905382508}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 108
 --- !u!1 &896807601340215817
 GameObject:
   m_ObjectHideFlags: 0
@@ -4423,6 +4451,7 @@ RectTransform:
   m_Children:
   - {fileID: 2961649901238549022}
   - {fileID: 6612398528495129329}
+  - {fileID: 1492814802000151354}
   m_Father: {fileID: 7111392178285703134}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -5312,7 +5341,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 750, y: 1334}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &67843362433966437
 MonoBehaviour:
@@ -5448,6 +5477,15 @@ MonoBehaviour:
     - gameObject: {fileID: 633043608376079090}
     - gameObject: {fileID: 2353568671963198049}
     - gameObject: {fileID: 2092809658225085607}
+  - key: AlerRed
+    gameObject: {fileID: 8956633222987790951}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 1004509144920360798}
+    - gameObject: {fileID: 633043608376079090}
+    - gameObject: {fileID: 2353568671963198049}
+    - gameObject: {fileID: 2092809658225085607}
   isAssetBundle: 1
 --- !u!222 &3181852693172486306
 CanvasRenderer:
@@ -6312,6 +6350,7 @@ GameObject:
   - component: {fileID: 186689008419371845}
   - component: {fileID: 5593879167665457478}
   - component: {fileID: 1802240029462561780}
+  - component: {fileID: 2304399620597805954}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txt (1)
@@ -6381,6 +6420,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u82F1\u96C4\u80CC\u5305"
+--- !u!114 &2304399620597805954
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4396018671665237587}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 111
 --- !u!1 &4425828469231899128
 GameObject:
   m_ObjectHideFlags: 0
@@ -7139,6 +7191,7 @@ GameObject:
   - component: {fileID: 4898319999670949978}
   - component: {fileID: 2240972726940887036}
   - component: {fileID: 9038113785189193125}
+  - component: {fileID: 7080083969320597490}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txtBackHero
@@ -7208,6 +7261,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u66FF\u8865\u82F1\u96C4"
+--- !u!114 &7080083969320597490
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4828009758064597117}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 109
 --- !u!1 &4831317832591357862
 GameObject:
   m_ObjectHideFlags: 0
@@ -10507,6 +10573,90 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &7017446781705700495
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8903143059705671292}
+  - component: {fileID: 6123971060029580183}
+  - component: {fileID: 1646396364899761708}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8903143059705671292
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7017446781705700495}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1492814802000151354}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 6.26, y: 18.21}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6123971060029580183
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7017446781705700495}
+  m_CullTransparentMesh: 1
+--- !u!114 &1646396364899761708
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7017446781705700495}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Circle_Icon_Exclamation
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &7031409575537508775
 GameObject:
   m_ObjectHideFlags: 0
@@ -11102,6 +11252,90 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &7542437920910971018
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 555403185309931461}
+  - component: {fileID: 1682663878527223360}
+  - component: {fileID: 5613197380064496064}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &555403185309931461
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7542437920910971018}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1492814802000151354}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 30, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1682663878527223360
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7542437920910971018}
+  m_CullTransparentMesh: 1
+--- !u!114 &5613197380064496064
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7542437920910971018}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.3254902, g: 0.02745098, b: 0.05882353, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Dot_Border
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &7569975971492849229
 GameObject:
   m_ObjectHideFlags: 0
@@ -12760,6 +12994,92 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8956633222987790951
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1492814802000151354}
+  - component: {fileID: 3074674538658140675}
+  - component: {fileID: 8389735525832534630}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Alert_Circle_Red (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &1492814802000151354
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8956633222987790951}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 8903143059705671292}
+  - {fileID: 555403185309931461}
+  m_Father: {fileID: 5541557250004592871}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 112, y: 43}
+  m_SizeDelta: {x: 28, y: 28}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3074674538658140675
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8956633222987790951}
+  m_CullTransparentMesh: 1
+--- !u!114 &8389735525832534630
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8956633222987790951}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.14117648, b: 0.24313726, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Dot_Bg
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &9046605817717828056
 GameObject:
   m_ObjectHideFlags: 0

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 958 - 1
Assets/Res/UI/HeroDetailPanel.prefab


+ 268 - 4
Assets/Res/UI/MainUIPanel.prefab

@@ -612,6 +612,90 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
     packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
     lasetJsonGUID: 7f6af24b7e68d556cab4cc7ac439f1bb
+--- !u!1 &648841150146322101
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6414013126349034669}
+  - component: {fileID: 2060325606194171688}
+  - component: {fileID: 5092724009326319237}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6414013126349034669
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 648841150146322101}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 776199856319949212}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 30, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2060325606194171688
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 648841150146322101}
+  m_CullTransparentMesh: 1
+--- !u!114 &5092724009326319237
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 648841150146322101}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.3254902, g: 0.02745098, b: 0.05882353, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Dot_Border
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &709490475292508899
 GameObject:
   m_ObjectHideFlags: 0
@@ -730,6 +814,7 @@ RectTransform:
   - {fileID: 2815392744438249048}
   - {fileID: 4207053513884661540}
   - {fileID: 6765399326918870433}
+  - {fileID: 2795529932863041108}
   m_Father: {fileID: 2306360978136577391}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 1}
@@ -1641,6 +1726,90 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson\box.txt
     packgSpritePath: Assets/Res/UIAtlas/box.spriteatlasv2
     lasetJsonGUID: 400626ea8d256573f3183ae708817184
+--- !u!1 &2139610971110346833
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5512379658101088413}
+  - component: {fileID: 5401355373180777487}
+  - component: {fileID: 1664677966461117756}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5512379658101088413
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2139610971110346833}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 776199856319949212}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 6.26, y: 18.21}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5401355373180777487
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2139610971110346833}
+  m_CullTransparentMesh: 1
+--- !u!114 &1664677966461117756
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2139610971110346833}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Circle_Icon_Exclamation
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &2269232146240751079
 GameObject:
   m_ObjectHideFlags: 0
@@ -1751,6 +1920,7 @@ RectTransform:
   m_Children:
   - {fileID: 7362160405140399304}
   - {fileID: 4391858190883622590}
+  - {fileID: 776199856319949212}
   m_Father: {fileID: 5407905478464383173}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -2765,11 +2935,11 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 1276612167795138221}
-  m_Father: {fileID: 5407905478464383173}
+  m_Father: {fileID: 3100148146476530636}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: -300, y: 1000}
+  m_AnchoredPosition: {x: -300, y: -265}
   m_SizeDelta: {x: 105.8279, y: 108.6129}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1659965290666304219
@@ -4457,7 +4627,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 750, y: 1334}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1056032702526251692
 MonoBehaviour:
@@ -4706,6 +4876,15 @@ MonoBehaviour:
     - gameObject: {fileID: 6107101496507914859}
     - gameObject: {fileID: 397899105639740}
     - gameObject: {fileID: 3469845461661622283}
+  - key: alterObj1
+    gameObject: {fileID: 7018803262902258246}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 9073062006211861286}
+    - gameObject: {fileID: 6107101496507914859}
+    - gameObject: {fileID: 397899105639740}
+    - gameObject: {fileID: 3469845461661622283}
   isAssetBundle: 1
 --- !u!1 &6750499123037776255
 GameObject:
@@ -4777,7 +4956,6 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 6466028004710776003}
-  - {fileID: 2795529932863041108}
   - {fileID: 8091112176597121872}
   - {fileID: 2366751367701215255}
   m_Father: {fileID: 2306360978136577391}
@@ -4979,6 +5157,92 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &7018803262902258246
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 776199856319949212}
+  - component: {fileID: 8787417790543212270}
+  - component: {fileID: 2037980894803636943}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Alert_Circle_Red (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &776199856319949212
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018803262902258246}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 5512379658101088413}
+  - {fileID: 6414013126349034669}
+  m_Father: {fileID: 8091112176597121872}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 40, y: 46}
+  m_SizeDelta: {x: 28, y: 28}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8787417790543212270
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018803262902258246}
+  m_CullTransparentMesh: 1
+--- !u!114 &2037980894803636943
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7018803262902258246}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.14117648, b: 0.24313726, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Dot_Bg
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &7222906580796130637
 GameObject:
   m_ObjectHideFlags: 0

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 849 - 35
Assets/Res/UI/ProfessionEquipmentPanel.prefab


+ 15 - 1
Assets/Res/UI/RewardsPanel.prefab

@@ -275,6 +275,7 @@ GameObject:
   - component: {fileID: 6223258105488711688}
   - component: {fileID: 107777712894178491}
   - component: {fileID: 9079335746802258409}
+  - component: {fileID: 8875649337987708000}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txtItem
@@ -344,6 +345,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u83B7\u5F97\u5956\u52B1"
+--- !u!114 &8875649337987708000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4688934361147581867}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 152
 --- !u!1 &4791404325002115125
 GameObject:
   m_ObjectHideFlags: 0
@@ -816,7 +830,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: -2037, y: 1755}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 750, y: 1334}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &9111758787558866785
 CanvasRenderer:

+ 280 - 1
Assets/Res/UI/SpecificProfessionEquipmentPanel.prefab

@@ -116,6 +116,7 @@ GameObject:
   - component: {fileID: 8050209327598571131}
   - component: {fileID: 2728628990419375058}
   - component: {fileID: 1037328333759933566}
+  - component: {fileID: 3091160066146502917}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: txt
@@ -185,6 +186,19 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u4E00\u952E\u88C5\u5907"
+--- !u!114 &3091160066146502917
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 481060752254444518}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d272e2a31d4cd8c408dc4d1c8963f314, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  id: 153
 --- !u!1 &521588013225577960
 GameObject:
   m_ObjectHideFlags: 0
@@ -3147,7 +3161,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 750, y: 1624}
+  m_SizeDelta: {x: 750, y: 1334}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &6233062318384769739
 CanvasRenderer:
@@ -3311,6 +3325,16 @@ MonoBehaviour:
     - gameObject: {fileID: 0}
     - gameObject: {fileID: 0}
     - gameObject: {fileID: 0}
+  - key: altertRed
+    gameObject: {fileID: 8571375606261511009}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 345039711155953141}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
   isAssetBundle: 1
 --- !u!114 &3602538398910660699
 MonoBehaviour:
@@ -4294,6 +4318,90 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5781329795660419199
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7107138172511073483}
+  - component: {fileID: 3842325015807851395}
+  - component: {fileID: 7032642820532147702}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7107138172511073483
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5781329795660419199}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7254188222621113221}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 6.26, y: 18.21}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3842325015807851395
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5781329795660419199}
+  m_CullTransparentMesh: 1
+--- !u!114 &7032642820532147702
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5781329795660419199}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Circle_Icon_Exclamation
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &5867689955393555865
 GameObject:
   m_ObjectHideFlags: 0
@@ -4413,6 +4521,7 @@ RectTransform:
   m_Children:
   - {fileID: 4907610926646643840}
   - {fileID: 8050209327598571131}
+  - {fileID: 7254188222621113221}
   m_Father: {fileID: 797304816984919772}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -5460,6 +5569,90 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &6811245108857508326
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6995301407316791008}
+  - component: {fileID: 6537295489475053452}
+  - component: {fileID: 5933255998763299585}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Border
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6995301407316791008
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6811245108857508326}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7254188222621113221}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 30, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6537295489475053452
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6811245108857508326}
+  m_CullTransparentMesh: 1
+--- !u!114 &5933255998763299585
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6811245108857508326}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.3254902, g: 0.02745098, b: 0.05882353, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Dot_Border
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &6968682011410392739
 GameObject:
   m_ObjectHideFlags: 0
@@ -6696,6 +6889,92 @@ MonoBehaviour:
     packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
     packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
     lasetJsonGUID: ad234b510c8665e34d281ca3122c266c
+--- !u!1 &8571375606261511009
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7254188222621113221}
+  - component: {fileID: 7249301087807600231}
+  - component: {fileID: 6077954800850811341}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Alert_Circle_Red (5)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7254188222621113221
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8571375606261511009}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7107138172511073483}
+  - {fileID: 6995301407316791008}
+  m_Father: {fileID: 5431682905573327978}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 288, y: 22}
+  m_SizeDelta: {x: 28, y: 28}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7249301087807600231
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8571375606261511009}
+  m_CullTransparentMesh: 1
+--- !u!114 &6077954800850811341
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8571375606261511009}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.14117648, b: 0.24313726, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Alert_Dot_Bg
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 8e0fed06f6e134745d1fa1d786d61cbc
 --- !u!1 &8821399684194774375
 GameObject:
   m_ObjectHideFlags: 0

+ 530 - 0
Assets/Res/UI/TxtGuildPanel.prefab

@@ -0,0 +1,530 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &679196440837577070
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 938262932102344408}
+  - component: {fileID: 832778393434372543}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: TxtGuildPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &938262932102344408
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 679196440837577070}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7066463351742842950}
+  - {fileID: 45329612972873139}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 567, y: -1968}
+  m_SizeDelta: {x: 750, y: 1334}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &832778393434372543
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 679196440837577070}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: message
+    gameObject: {fileID: 6927787499819442017}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: dotPoint
+    gameObject: {fileID: 45329612972873139}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: bg_icon
+    gameObject: {fileID: 4350995047951058069}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1
+--- !u!1 &1791755086606074141
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2149943221234425788}
+  - component: {fileID: 8140321628656431887}
+  - component: {fileID: 8470074875512611595}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: dec_arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2149943221234425788
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1791755086606074141}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3595712816076770782}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: -27.1}
+  m_SizeDelta: {x: 38, y: 28}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8140321628656431887
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1791755086606074141}
+  m_CullTransparentMesh: 1
+--- !u!114 &8470074875512611595
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1791755086606074141}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Arrow_Down
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 7f6af24b7e68d556cab4cc7ac439f1bb
+--- !u!1 &2719712690457034563
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8589700765958660809}
+  - component: {fileID: 8563214976376415512}
+  - component: {fileID: 6927787499819442017}
+  - component: {fileID: 7854699503480604488}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: message
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8589700765958660809
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2719712690457034563}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3595712816076770782}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 8.650024}
+  m_SizeDelta: {x: 230, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8563214976376415512
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2719712690457034563}
+  m_CullTransparentMesh: 1
+--- !u!114 &6927787499819442017
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2719712690457034563}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: bb5b55cc5861a4951990bcc1caccc50e, type: 3}
+    m_FontSize: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: "\u70B9\u8FD9\u91CC\uFF0C\u5347\u7EA7\u82F1\u96C4"
+--- !u!114 &7854699503480604488
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2719712690457034563}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!1 &4499617780642455746
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4294218477770860343}
+  - component: {fileID: 2010396863693640005}
+  - component: {fileID: 4350995047951058069}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: bg_icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4294218477770860343
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4499617780642455746}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3595712816076770782}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 8.650024}
+  m_SizeDelta: {x: 230, y: 70}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2010396863693640005
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4499617780642455746}
+  m_CullTransparentMesh: 1
+--- !u!114 &4350995047951058069
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4499617780642455746}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: btn_Round09
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: 7f6af24b7e68d556cab4cc7ac439f1bb
+--- !u!1 &4964739403258053501
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3595712816076770782}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3595712816076770782
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4964739403258053501}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 2149943221234425788}
+  - {fileID: 4294218477770860343}
+  - {fileID: 8589700765958660809}
+  m_Father: {fileID: 45329612972873139}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 102.5}
+  m_SizeDelta: {x: 230, y: 97.3}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &5504660381624582710
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 45329612972873139}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: dotPoint
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &45329612972873139
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5504660381624582710}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3595712816076770782}
+  m_Father: {fileID: 938262932102344408}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &8893640646349076503
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7066463351742842950}
+  - component: {fileID: 1583335207264414803}
+  - component: {fileID: 563312569381355912}
+  - component: {fileID: 5174379677216069048}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: button_bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &7066463351742842950
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8893640646349076503}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 938262932102344408}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1583335207264414803
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8893640646349076503}
+  m_CullTransparentMesh: 1
+--- !u!114 &563312569381355912
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8893640646349076503}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.050980393}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &5174379677216069048
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8893640646349076503}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 563312569381355912}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []

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

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Cn4ZsCyqVnO8l62/knj2YOnNjbQ1AGMFp48N1DqHi0+jzdOrZ2rJuUs=
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Res/UIAtlas/all.spriteatlasv2

@@ -76,6 +76,7 @@ SpriteAtlasAsset:
     - {fileID: 2800000, guid: 694e03b969504324081225f1921465de, type: 3}
     - {fileID: 2800000, guid: 58233a1daedbb4a24b2ddca6bcb864fd, type: 3}
     - {fileID: 2800000, guid: 03108c847a5054b63971245729018c27, type: 3}
+    - {fileID: 2800000, guid: b396897fe7d19428d913f9c9fcd9edfc, type: 3}
     - {fileID: 2800000, guid: eb5a004d027914b13abea711a54675e5, type: 3}
     - {fileID: 2800000, guid: e4a00da9d5759447c948b8fa241afc3e, type: 3}
     - {fileID: 2800000, guid: 793dd477683f1b743acb6e68d204d465, type: 3}
@@ -101,7 +102,6 @@ SpriteAtlasAsset:
     - {fileID: 2800000, guid: 5c287376e64d24bc1a85b53628621857, type: 3}
     - {fileID: 2800000, guid: f4492d7c6449e4ea7bcfb41d86964417, type: 3}
     - {fileID: 2800000, guid: c5d88737534914e22a2b08bf691052c3, type: 3}
-    - {fileID: 2800000, guid: 7f40c4693834f4b79813864b3b216f22, type: 3}
     - {fileID: 2800000, guid: 9e984408ac7ba4153bace3927806efeb, type: 3}
   m_IsVariant: 0
   m_IsPlaceholder: 0

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 167 - 440
Assets/Scenes/UIBuild.scene


+ 4 - 0
Assets/Scripts/Core/Event/Event/CustomEventType.cs

@@ -71,6 +71,10 @@ namespace Fort23.Core
       /// 玩家使用技能
       /// </summary>
       PlayerUseSkill,
+      /// <summary>
+      /// 关闭英雄面板
+      /// </summary>
+      OnCloseHeroPanel,
       
     }
 }

+ 5 - 1
Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_Boss.cs

@@ -1,4 +1,5 @@
 using Common.Utility.CombatEvent;
+using Core.Language;
 using Fort23.Core;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.CombatType;
@@ -36,7 +37,10 @@ namespace GameLogic.Combat.CombatGuide
                     CombatGuideManager.Instance.NextGuide();
                    
                 };
-                showDialogueEventData.dialogueMessaga = new string[] {".....", "发生了什么事....","前方好像出现了超强怪物,大家做好准备。" };
+                // LanguageManager.Instance.Text()
+                showDialogueEventData.dialogueMessaga = new string[] {LanguageManager.Instance.Text(118), 
+                    LanguageManager.Instance.Text(119),
+                    LanguageManager.Instance.Text(120) };
                 showDialogueEventData.icon = new string[] { "icon_tx105", "icon_tx105", "icon_tx105" };
                 showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
                 EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);

+ 5 - 3
Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_GongJiang.cs

@@ -1,4 +1,5 @@
 using Common.Utility.CombatEvent;
+using Core.Language;
 using Fort23.Core;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.CombatType;
@@ -88,7 +89,8 @@ namespace GameLogic.Combat.CombatGuide
                 state = 1;
                 isTrgger = false;
             };
-            showDialogueEventData.dialogueMessaga = new string[] { "救命呀~", "救命~~~" };
+            showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(126),
+                LanguageManager.Instance.Text(127) };
             showDialogueEventData.icon = new string[] { "icon_tx116", "icon_tx116" };
             showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
             EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
@@ -101,7 +103,7 @@ namespace GameLogic.Combat.CombatGuide
             CombatController.currActiveCombat.isStopAi = true;
             ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
             showDialogueEventData.finish = Guide2_2;
-            showDialogueEventData.dialogueMessaga = new string[] { "越往深林深处走怪物越强大了,这里的怪我有点招架不足了,我能不能加入你们一起探险?" };
+            showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(121) };
             showDialogueEventData.icon = new string[] { "icon_tx116"};
             showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
             EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
@@ -120,7 +122,7 @@ namespace GameLogic.Combat.CombatGuide
                     CombatController.currActiveCombat.isStopAi = false;
                     CombatGuideManager.Instance.NextGuide();
                   };
-            showDialogueEventData.dialogueMessaga = new string[] { "没问题,我们正缺你这样的勇士。","欢迎加入我们的队伍,让我们一起看看深林深处是什么在作怪。" };
+            showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(122), LanguageManager.Instance.Text(123) };
             showDialogueEventData.icon = new string[] { "icon_tx105"};
             showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
             EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);

+ 6 - 3
Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_JiaRuFaShi.cs

@@ -1,4 +1,5 @@
 using Common.Utility.CombatEvent;
+using Core.Language;
 using Fort23.Core;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Hero;
@@ -52,7 +53,8 @@ namespace GameLogic.Combat.CombatGuide
             ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
             showDialogueEventData.finish = Guide1_1;
           
-            showDialogueEventData.dialogueMessaga = new string[] { "(喘息着)这该死的怪物怎么杀也杀不完!","怎么办要先会村庄吗?" };
+            showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(124), 
+                LanguageManager.Instance.Text(125) };
             showDialogueEventData.icon = new string[] { "icon_tx105"};
             showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
             EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
@@ -91,7 +93,8 @@ namespace GameLogic.Combat.CombatGuide
             // heroEntity.GameObject.SetActive(true);
             ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
             showDialogueEventData.finish = Guide1_2;
-            showDialogueEventData.dialogueMessaga = new string[] { "我名艾尔温。这里充满了黑暗的气息,我无法袖手旁观.","让它们常常我的火焰~"};
+            showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(128),
+                LanguageManager.Instance.Text(129)};
             showDialogueEventData.icon = new string[] { "icon_tx107"};
             showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
             EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);
@@ -108,7 +111,7 @@ namespace GameLogic.Combat.CombatGuide
                 CombatController.currActiveCombat.isStopAi = false;
                 CombatGuideManager.Instance.NextGuide();
             };
-            showDialogueEventData.dialogueMessaga = new string[] { "太好了艾尔温,感谢你的加入!"};
+            showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(130)};
             showDialogueEventData.icon = new string[] { "icon_tx105"};
             showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
             EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);

+ 4 - 2
Assets/Scripts/GameLogic/Combat/CombatGuide/Guide_MuShi.cs

@@ -1,4 +1,5 @@
 using Common.Utility.CombatEvent;
+using Core.Language;
 using Fort23.Core;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Hero;
@@ -38,7 +39,7 @@ namespace GameLogic.Combat.CombatGuide
                     CombatController.currActiveCombat.isStopAi = true;
                     ShowDialogueEventData showDialogueEventData = ShowDialogueEventData.Create();
                     showDialogueEventData.finish = Guide3_1;
-                    showDialogueEventData.dialogueMessaga = new string[] { "兄弟们,我坚持不住了,这一波怪物太猛了!" };
+                    showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(131)};
                     showDialogueEventData.icon = new string[] { "icon_tx105"};
                     showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
                     EventManager.Instance.Dispatch(CustomEventType.ShowDialogue,
@@ -82,7 +83,8 @@ namespace GameLogic.Combat.CombatGuide
                 AccountFileInfo.Instance.playerData.combatGuideIndex =4;
                 AccountFileInfo.Instance.SavePlayerData();
             };
-            showDialogueEventData.dialogueMessaga = new string[] { "天空中突然闪出一个人影。","我是来自教堂的牧师,我来为你治疗!" };
+            showDialogueEventData.dialogueMessaga = new string[] { LanguageManager.Instance.Text(132), 
+                LanguageManager.Instance.Text(133) };
             showDialogueEventData.icon = new string[] { "icon_tx113"};
             showDialogueEventData.messageShowType = ShowDialogueEventData.MessageShowType.Verbatim;
             EventManager.Instance.Dispatch(CustomEventType.ShowDialogue, showDialogueEventData);

+ 5 - 0
Assets/Scripts/GameLogic/Combat/CombatType/LevelBattleCombatType.cs

@@ -104,6 +104,11 @@ namespace GameLogic.Combat.CombatType
             List<ItemInfo> equipmentList =
                 DropManager.Instance.DropEquipment(_levelBattleConfig, combatHeroEntity.CurrCombatHeroInfo.heroType);
 
+            if (equipmentList.Count <= 0)
+            {
+                return;
+            }
+
             Combat_EquipFallEventData combatEquipFallEventData = Combat_EquipFallEventData.Create();
             //allEquip存放特效标记
             List<string> allEquip = new List<string>();

+ 116 - 1
Assets/Scripts/GameLogic/Equipment/EquipmentController.cs

@@ -158,9 +158,120 @@ namespace GameLogic.Equipment
             return info;
         }
 
+        /// <summary>
+        /// 是否有更好的装备
+        /// </summary>
+        /// <param name="isReCal">是否重新计算最好的装备</param>
+        /// <returns></returns>
+        public bool IsBetterEqs(bool isReCal = true)
+        {
+            if (isReCal)
+            {
+                UpdateAllBestEqs();
+            }
+            
+            foreach (KeyValuePair<int,Dictionary<int,ItemInfo>> keyValuePair in allBestEqDic)
+            {
+                int zy = keyValuePair.Key;
+                Dictionary<int, ItemInfo> bwDic = keyValuePair.Value;
+                if (bwDic.Count > 0)
+                {
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
+        /// <summary>
+        /// 具体职业是否有更好装备
+        /// </summary>
+        /// <param name="zy"></param>
+        /// <returns></returns>
+        public bool IsBetterEqs4OneZy(int zy, bool isReCal = false)
+        {
+            if (isReCal)
+            {
+                UpdateAllBestEqs();
+            }
+            if (allBestEqDic != null)
+            {
+                if (allBestEqDic.TryGetValue(zy, out var bwDic))
+                {
+                    if (bwDic.Count > 0)
+                    {
+                        return true;
+                    }
+                } 
+                
+            }
+
+            return false;
+        }
+
+
+        public Dictionary<int, Dictionary<int, ItemInfo>> allBestEqDic;
+        /// <summary>
+        /// 计算所有职业最好的装备,用于小红点
+        /// allBestEqDic里面存的,就是所有职业,最好的装备
+        /// </summary>
+        /// <returns></returns>
+        public Dictionary<int, Dictionary<int, ItemInfo>> UpdateAllBestEqs()
+        {
+            allBestEqDic = new Dictionary<int, Dictionary<int, ItemInfo>>();
+
+            allBestEqDic.Add(1, GetZyBestEqs(1));
+            allBestEqDic.Add(2, GetZyBestEqs(2));
+            allBestEqDic.Add(3, GetZyBestEqs(3));
+            allBestEqDic.Add(4, GetZyBestEqs(4));
+            return allBestEqDic;
+        }
+
+        public Dictionary<int, ItemInfo> GetZyBestEqs(int zy)
+        {
+            Dictionary<int, ItemInfo> bestEqDic = new Dictionary<int, ItemInfo>();
+            bool changed = false;
+            //拿到这个职业的所有部位的装备,bwDic就是一个按部位划分的字典key=部位,value=这个部位下的所有装备
+            if (allZyEqDic.TryGetValue(zy, out var bwDic))
+            {
+                foreach (KeyValuePair<int, List<ItemInfo>> keyValuePair in bwDic)
+                {
+                    ItemInfo bestBwEq = null;
+                    foreach (ItemInfo bwItem in keyValuePair.Value)
+                    {
+                        // if (bwItem.eqInfo.isWear)
+                        // {
+                        //     continue;
+                        // }
+                        // bwItem.eqInfo.isEquip = false;
+                        if (bestBwEq == null)
+                        {
+                            bestBwEq = bwItem;
+                            continue;
+                        }
+
+                        if (bwItem.eqInfo.Attack > bestBwEq.eqInfo.Attack ||
+                            bwItem.eqInfo.Defense > bestBwEq.eqInfo.Defense ||
+                            bwItem.eqInfo.Hp > bestBwEq.eqInfo.Hp)
+                        {
+                            bestBwEq = bwItem;
+                        }
+                    }
+
+                    if (bestBwEq != null)
+                    {
+                        if(!bestBwEq.eqInfo.isWear)
+                            bestEqDic.Add(keyValuePair.Key, bestBwEq);
+                    }
+                }
+            }
+            
+            return bestEqDic;
+        }
+
         /// <summary>
         /// 一键穿职业装备
-        /// 把对应职业,对应部位的,最好的装备找出来 牵肠挂肚
+        /// 把对应职业,对应部位的,最好的装备找出来
         /// </summary>
         /// <param name="zy"></param>
         /// <returns>true = 有装备变动 </returns>
@@ -175,6 +286,10 @@ namespace GameLogic.Equipment
                     ItemInfo bestBwEq = null;
                     foreach (ItemInfo bwItem in keyValuePair.Value)
                     {
+                        // if (bwItem.eqInfo.isWear)
+                        // {
+                        //     continue;
+                        // }
                         // bwItem.eqInfo.isEquip = false;
                         if (bestBwEq == null)
                         {

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

@@ -301,7 +301,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         
         ItemData diamond = new ItemData(GlobalParam.Item_Diamond_ID);
         
-        ItemData heroExp = new ItemData(GlobalParam.Item_HeroExp_ID);
+        ItemData heroExp = new ItemData(GlobalParam.Item_HeroExp_ID, 5000);
         
         playerData.ItemListData.Add(coin);
         playerData.ItemListData.Add(diamond);

+ 11 - 0
Assets/Scripts/GameUI/Combat/CombatEquipFallManager.cs

@@ -127,6 +127,12 @@ namespace GameLogic.CombatScenesTool
 
         protected void Combat_EquipFall(IEventData ievetEquia)
         {
+
+            if (ievetEquia == null)
+            {
+                return;
+            }
+            
             Combat_EquipFallEventData combatEquipFallEventData = ievetEquia as Combat_EquipFallEventData;
             Fall(combatEquipFallEventData.fallEquip, combatEquipFallEventData.startPos_WorldPos);
         }
@@ -139,6 +145,11 @@ namespace GameLogic.CombatScenesTool
 
         public void Fall(string[] allEquip, Vector3 worldPos)
         {
+            if (allEquip == null)
+            {
+                return;
+            }
+            
             for (int i = 0; i < allEquip.Length; i++)
             {
                 GObjectPool.Instance.FetchAsync<GameObjectPool>(allEquip[i], delegate(GameObjectPool pool)

+ 10 - 2
Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs

@@ -1,6 +1,8 @@
 using System.Collections.Generic;
+using Core.Language;
 using Core.Utility;
 using Excel2Json;
+using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Bag;
 using GameLogic.Player;
@@ -52,10 +54,12 @@ namespace Fort23.Mono
                 {
                     panel.InitRewardsPanel(allIitem, CloseButtonCallBack);
                 }, layer: UILayer.Top);
+                
             }
             else
             {
-                TipMessagePanel.OpenTipMessagePanel("金币不足", Vector2.zero);
+                // TipMessagePanel.OpenTipMessagePanel("金币不足", Vector2.zero);
+                TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(102), Vector2.zero);
             }
             
         }
@@ -78,16 +82,20 @@ namespace Fort23.Mono
                 UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(
                     delegate(RewardsPanel panel) { panel.InitRewardsPanel(allIitem, CloseButtonCallBack); },
                     layer: UILayer.Top);
+                
+                
             }
             else
             {
-                TipMessagePanel.OpenTipMessagePanel("金币不足", Vector2.zero);
+                TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(102), Vector2.zero);
             }
         }
 
         private void CloseButtonCallBack()
         {
             UIManager.Instance.HideUIUIPanel(this);
+            
+            EventManager.Instance.Dispatch(CustomEventType.Combat_EquipFall, null);
         }
 
         public void OpenPanel()

+ 15 - 1
Assets/Scripts/GameUI/UI/Hero/HeroBagPanel.cs

@@ -16,11 +16,13 @@ namespace Fort23.Mono
         protected override void AddEvent()
         {
             EventManager.Instance.AddEventListener(CustomEventType.MainLvUp, OnMainLvUp);
+            EventManager.Instance.AddEventListener(CustomEventType.HeroEquip, CheckAlterRed);
         }
 
         protected override void DelEvent()
         {
             EventManager.Instance.RemoveEventListener(CustomEventType.MainLvUp, OnMainLvUp);
+            EventManager.Instance.RemoveEventListener(CustomEventType.HeroEquip, CheckAlterRed);
         }
         public override void AddButtonEvent()
         {
@@ -50,12 +52,24 @@ namespace Fort23.Mono
         {
             txtMainLv.text = LanguageManager.Instance.Text(64, PlayerManager.Instance.heroController.mainLevel);
         }
+
+        private void CheckAlterRed(IEventData e = null)
+        {
+            if (PlayerManager.Instance.eqController.IsBetterEqs(false))
+            {
+                AlerRed.SetActive(true);
+            }
+            else
+            {
+                AlerRed.SetActive(false);
+            }
+        }
         
         public void InitPanel()
         {
             InitMainHeroWidget();
             UpdateMainLv();
-
+            CheckAlterRed();
         }
         public List<WidgetHero> widgetHeroes = new List<WidgetHero>();
         private async void InitMainHeroWidget()

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

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

+ 20 - 2
Assets/Scripts/GameUI/UI/Hero/HeroDetailPanel.cs

@@ -44,7 +44,10 @@ namespace Fort23.Mono
             
             btnSpecailEquip.onClick.AddListener(delegate
             {
-                TipMessagePanel.OpenTipMessagePanel("专属装备(敬请期待)",
+                // TipMessagePanel.OpenTipMessagePanel("专属装备(敬请期待)",
+                //     new Vector2(btnSpecailEquip.transform.position.x, btnSpecailEquip.transform.position.y + 0.5f));
+                
+                TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(101),
                     new Vector2(btnSpecailEquip.transform.position.x, btnSpecailEquip.transform.position.y + 0.5f));
             });
             
@@ -174,7 +177,7 @@ namespace Fort23.Mono
                 }
                 else
                 {
-                    TipMessagePanel.OpenTipMessagePanel("资源不足", Vector2.zero);
+                    TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(103), Vector2.zero);
                 }
 
                 // if (PlayerManager.Instance.heroController.CanPromote(heroInfo) == HeroUpResultType.Success)
@@ -232,6 +235,11 @@ namespace Fort23.Mono
                         EnterPowerUpPre(1);
                         pre.OpenUpgradePre(heroInfo);
                     }, root: rtBottom);
+
+                btnUpgrade.enabled = false;
+                await TimerComponent.Instance.WaitAsync(500);
+                btnUpgrade.enabled = true;
+
             }
         }
 
@@ -387,6 +395,8 @@ namespace Fort23.Mono
             {
                 GObjectPool.Instance.Recycle(modelObj);
                 UIManager.Instance.HideUIUIPanel(this);
+                
+                EventManager.Instance.Dispatch(CustomEventType.OnCloseHeroPanel, new SimpleEventData(){ intData = heroInfo.modelID});
             }
         }
         
@@ -404,6 +414,14 @@ namespace Fort23.Mono
             this.heroWidget = heroWidget;
             this.sourcePanel = sourcePanel;
             
+            // TxtGuildPanel.CloseTxtGuildPanel();
+            // if (HeroUITools.IsLvUpShowGuild(heroInfo))
+            // {
+            //     TxtGuildPanel.OpenTxtGuildPanel("点击这里, 升级", new Vector2(btnUpgrade.transform.position.x ,
+            //         btnUpgrade.transform.position.y + .2f));
+            // }
+
+
             skillUI.SetActive(false);
             
             btns1.SetActive(true);

+ 50 - 0
Assets/Scripts/GameUI/UI/Hero/HeroUITools.cs

@@ -1,9 +1,11 @@
 using System;
 using System.Collections.Generic;
+using Core.Utility;
 using Excel2Json;
 using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Bag;
+using GameLogic.Hero;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -59,6 +61,27 @@ namespace Fort23.Mono
 
             return data;
         }
+
+        /// <summary>
+        /// 是否显示职业装备的小红点
+        /// </summary>
+        /// <param name="zy"></param>
+        /// <returns></returns>
+        public static bool IsShowRedPointProEq(int zy)
+        {
+            if (PlayerManager.Instance.eqController.allBestEqDic != null)
+            {
+                if (PlayerManager.Instance.eqController.allBestEqDic.TryGetValue(zy, out var bestEq))
+                {
+                    if (bestEq.Count > 0)
+                    {
+                        return true;
+                    }
+                }
+            }
+
+            return false;
+        }
         
         /// <summary>
         /// 更新对应职业的装备图标
@@ -177,6 +200,33 @@ namespace Fort23.Mono
                     break;
             }
         }
+
+        /// <summary>
+        /// 是否展示"去升级"的引导
+        /// </summary>
+        /// <param name="heroInfo"></param>
+        /// <returns></returns>
+        public static bool IsLvUpShowGuild(HeroInfo heroInfo)
+        {
+
+            long totalExp = heroInfo.powerUpConfig.levelUpExp;
+
+            for (int i = 1; i < 10; i++)
+            {
+                HeroPowerUpConfig powerUpConfig =
+                    ConfigComponent.Instance.Get<HeroPowerUpConfig>(heroInfo.promoteConfig.ID + i);
+                
+                totalExp += powerUpConfig.levelUpExp;
+            }
+            
+            if (BagController.Instance.IsEnough(GlobalParam.Item_HeroExp_ID, totalExp) &&
+                heroInfo.level.Value - PlayerManager.Instance.heroController.mainLevel < 10)
+            {
+                return true;
+            }
+
+            return false;
+        }
         
         /// <summary>
         /// 打开对应职业的装备面板

+ 5 - 1
Assets/Scripts/GameUI/UI/Hero/ProfessionEquipmentPanel.cs

@@ -83,6 +83,7 @@ namespace Fort23.Mono
 
         public void UpdateAllEq()
         {
+            PlayerManager.Instance.eqController.UpdateAllBestEqs();
             UpdateZyEqs(1);
             UpdateZyEqs(2);
             UpdateZyEqs(3);
@@ -91,6 +92,7 @@ namespace Fort23.Mono
 
         public void UpdateZyEqs(int zy)
         {
+            bool show = false;
             switch (zy)
             {
                 case 1:
@@ -106,7 +108,9 @@ namespace Fort23.Mono
                     HeroUITools.UpdateZyEqIcon(4, yxEqs, action:OnclickYX);
                     break;
             }
+            
+            show = HeroUITools.IsShowRedPointProEq(zy);
+            (allAlterObj[zy - 1] as GameObject)?.SetActive(show);
         }
-        
     }
 }

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

@@ -162,6 +162,17 @@ namespace Fort23.Mono
 	      return _btnInZs;
 	     }
 	   }
+	  private List<object> _allAlterObj;
+	  public List<object> allAlterObj
+	   {
+	   get{
+	      if (_allAlterObj == null)
+	       {
+	         _allAlterObj  = GetUIUnit<List<object>>("allAlterObj"); 
+	       }
+	      return _allAlterObj;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 1 - 1
Assets/Scripts/GameUI/UI/Hero/SkillUIComponent.cs

@@ -196,7 +196,7 @@ namespace Fort23.Mono
             
             txtSkillName.text = LanguageManager.Instance.Text(maxSkillUnLock.skillConfig.name);
             txtLv.text = maxSkillUnLock.skillConfig.level.ToString();
-            txtCD.text = "冷却" + maxSkillUnLock.skillConfig.cd + "秒";
+            txtCD.text = LanguageManager.Instance.Text(146, maxSkillUnLock.skillConfig.cd);//"冷却" + maxSkillUnLock.skillConfig.cd + "秒";
 
             //第一个技能就没有解锁时
             if (firstSkillLock != null)

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

@@ -87,6 +87,8 @@ namespace Fort23.Mono
                 
                 UIManager.Instance.DormancyAllGComponent<WidgetItem>(poolName : SpecificEqsPoolName);
                 HeroUITools.UpdateZyEqIcon(curZy, eqs, poolName : SpecificEqsPoolName);
+                
+                altertRed.SetActive(false);
             }
         }
 
@@ -126,6 +128,15 @@ namespace Fort23.Mono
             SetZyInfo();
             UIManager.Instance.DormancyAllGComponent<WidgetItem>(SpecificEqsPoolName);
             HeroUITools.UpdateZyEqIcon(zy, eqs, poolName : SpecificEqsPoolName);
+
+            if (PlayerManager.Instance.eqController.IsBetterEqs4OneZy(curZy))
+            {
+                altertRed.SetActive(true);
+            }
+            else
+            {
+                altertRed.SetActive(false);
+            }
         }
 
         private void SetZyInfo()

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

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

+ 97 - 16
Assets/Scripts/GameUI/UI/MainUIPanel.cs

@@ -1,6 +1,7 @@
 using System.Collections.Generic;
 using System.Threading.Tasks;
 using Common.Utility.CombatEvent;
+using Core.Language;
 using Core.Utility;
 using Excel2Json;
 using Fort23.Core;
@@ -24,6 +25,8 @@ namespace Fort23.Mono
             InitRes();
             InitBattleHeroWidget();
             LevelUpdate(null);
+
+            CheckEquipAlterPoint(null);
         }
 
         protected override void AddEvent()
@@ -39,6 +42,78 @@ namespace Fort23.Mono
             EventManager.Instance.AddEventListener(CustomEventType.ShowDialogue, ShowDialogue);
             EventManager.Instance.AddEventListener(CustomEventType.AlterCombatHero, AlterCombatHero);
             EventManager.Instance.AddEventListener(CustomEventType.PlayerUseSkill, PlayerUseSkill);
+            EventManager.Instance.AddEventListener(CustomEventType.OnCloseHeroPanel, OnHeroPanelClose);
+            
+            EventManager.Instance.AddEventListener(CustomEventType.Combat_EquipFall, CheckEquipAlterPoint);
+            EventManager.Instance.AddEventListener(CustomEventType.HeroEquip, CheckEquipAlterPoint);
+        }
+
+ 
+
+        protected override void DelEvent()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.CombatExpAlter, CombatExpAlter);
+            // EventManager.Instance.RemoveEventListener(CustomEventType.HeroPowerUp, OnHeroPowerUp);
+            EventManager.Instance.RemoveEventListener(CustomEventType.ItemUpdate, OnItemUpdate);
+            EventManager.Instance.RemoveEventListener(CustomEventType.ShowBossHp, ShowBossHp);
+            EventManager.Instance.RemoveEventListener(CustomEventType.LevelUpdate, LevelUpdate);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroHpUpdate, HeroHpUpdateEventData);
+            EventManager.Instance.RemoveEventListener(CustomEventType.ShowBattleExp, ShowBattleExp);
+            EventManager.Instance.RemoveEventListener(CustomEventType.ShowDialogue, ShowDialogue);
+            EventManager.Instance.RemoveEventListener(CustomEventType.AlterCombatHero, AlterCombatHero);
+            EventManager.Instance.RemoveEventListener(CustomEventType.OnCloseHeroPanel, OnHeroPanelClose);
+            
+            EventManager.Instance.RemoveEventListener(CustomEventType.Combat_EquipFall, CheckEquipAlterPoint);
+            EventManager.Instance.RemoveEventListener(CustomEventType.HeroEquip, CheckEquipAlterPoint);
+        }
+        
+        /// <summary>
+        /// 检查装备小红点
+        /// </summary>
+        /// <param name="e"></param>
+        private void CheckEquipAlterPoint(IEventData e)
+        {
+            // Combat_EquipFallEventData data = e as Combat_EquipFallEventData;
+            bool betterEqs = PlayerManager.Instance.eqController.IsBetterEqs();
+
+            if (betterEqs)
+            {
+                alterObj1.SetActive(true);
+            }
+            else
+            {
+                alterObj1.SetActive(false);
+            }
+        }
+
+        private void OnHeroPanelClose(IEventData e)
+        {
+            int i = 0;
+            bool b = false;
+            
+            foreach (WidgetHero widgetHero in widgetHeroes)
+            {
+                if (b)
+                {
+                    break;
+                }
+                if (HeroUITools.IsLvUpShowGuild(widgetHero.heroInfo))
+                {
+                    RectTransform rectTransform = hero_battle[i] as RectTransform;
+                    TxtGuildPanel.OpenTxtGuildPanel(LanguageManager.Instance.Text(154), new Vector2(rectTransform.position.x, 
+                        rectTransform.position.y + 0.6f));
+
+                    b = true;
+                }
+                i++;
+            }
+
+            if (!b)
+            {
+                TxtGuildPanel.CloseTxtGuildPanel();
+            }
+
+           
         }
 
         private void PlayerUseSkill(IEventData iEventData)
@@ -79,18 +154,7 @@ namespace Fort23.Mono
         }
 
 
-        protected override void DelEvent()
-        {
-            CombatEventManager.Instance.RemoveEventListener(CombatEventType.CombatExpAlter, CombatExpAlter);
-            // EventManager.Instance.RemoveEventListener(CustomEventType.HeroPowerUp, OnHeroPowerUp);
-            EventManager.Instance.RemoveEventListener(CustomEventType.ItemUpdate, OnItemUpdate);
-            EventManager.Instance.RemoveEventListener(CustomEventType.ShowBossHp, ShowBossHp);
-            EventManager.Instance.RemoveEventListener(CustomEventType.LevelUpdate, LevelUpdate);
-            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroHpUpdate, HeroHpUpdateEventData);
-            EventManager.Instance.RemoveEventListener(CustomEventType.ShowBattleExp, ShowBattleExp);
-            EventManager.Instance.RemoveEventListener(CustomEventType.ShowDialogue, ShowDialogue);
-            EventManager.Instance.RemoveEventListener(CustomEventType.AlterCombatHero, AlterCombatHero);
-        }
+    
 
         public override void AddButtonEvent()
         {
@@ -105,19 +169,23 @@ namespace Fort23.Mono
 
         private void OnClickIcon_HeroExp_button()
         {
-            TipMessagePanel.OpenTipMessagePanel("英雄经验,可用于升级英雄等级<color=#ff0000>(每杀死一个小怪能获得经验,击杀boss能获得大量经验)</color>",
+            // TipMessagePanel.OpenTipMessagePanel("英雄经验,可用于升级英雄等级<color=#ff0000>(每杀死一个小怪能获得经验,击杀boss能获得大量经验)</color>",
+            //     new Vector2(Icon_HeroExp_button.transform.position.x, Icon_HeroExp_button.transform.position.y - 0.5f));
+            TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(104),
                 new Vector2(Icon_HeroExp_button.transform.position.x, Icon_HeroExp_button.transform.position.y - 0.5f));
         }
 
         private void OnClickIcon_Coin_button()
         {
-            TipMessagePanel.OpenTipMessagePanel("金币,用于抽取英雄宝箱<color=#ff0000>(每杀死一个小怪有几率获得金币,击杀boss能获得大量金币)</color>",
+            // TipMessagePanel.OpenTipMessagePanel("金币,用于抽取英雄宝箱<color=#ff0000>(每杀死一个小怪有几率获得金币,击杀boss能获得大量金币)</color>",
+            //     new Vector2(Icon_Coin_button.transform.position.x, Icon_Coin_button.transform.position.y - 0.5f));
+            TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(105),
                 new Vector2(Icon_Coin_button.transform.position.x, Icon_Coin_button.transform.position.y - 0.5f));
         }
 
         private void OnClickIcon_Diamon_button()
         {
-            TipMessagePanel.OpenTipMessagePanel("紫砖(敬请期待)",
+            TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(106),
                 new Vector2(Icon_Diamon_button.transform.position.x, Icon_Diamon_button.transform.position.y - 0.5f));
         }
 
@@ -141,7 +209,9 @@ namespace Fort23.Mono
         {
             Debug.Log("显示描述");
             RectTransform huoQiu = Button_huiQiu.GetComponent<RectTransform>();
-            TipMessagePanel.OpenTipMessagePanel("点击屏幕空白处从天空中召唤一个陨石,对怪物造成1点伤害,并有<color=#ff0000>30%</color>概率获得1枚金币(boss怪<color=#ff0000>40%</color>掉落,金币数量<color=#ff0000>+2</color>)",
+            // TipMessagePanel.OpenTipMessagePanel("点击屏幕空白处从天空中召唤一个陨石,对怪物造成1点伤害,并有<color=#ff0000>30%</color>概率获得1枚金币(boss怪<color=#ff0000>40%</color>掉落,金币数量<color=#ff0000>+2</color>)",
+            //     new Vector2(huoQiu.position.x, huoQiu.position.y + 0.5f));
+            TipMessagePanel.OpenTipMessagePanel(LanguageManager.Instance.Text(107),
                 new Vector2(huoQiu.position.x, huoQiu.position.y + 0.5f));
         }
 
@@ -276,6 +346,8 @@ namespace Fort23.Mono
         {
             Button_battleBoss.gameObject.SetActive(false);
             InitHeroWidget();
+            // RectTransform rectTransform = hero_battle[0] as RectTransform;
+            
         }
 
         private async void InitHeroWidget()
@@ -294,8 +366,17 @@ namespace Fort23.Mono
                 itemHero.InitHero(keyValuePair.Value);
                 itemHero.own.gameObject.name= "hero_battle"+i;
                 widgetHeroes.Add(itemHero);
+
+                // if (HeroUITools.IsLvUpShowGuild(keyValuePair.Value))
+                // {
+                //     TxtGuildPanel.OpenTxtGuildPanel("点这里提升英雄", new Vector2(rectTransform.position.x, 
+                //         rectTransform.position.y + 0.6f));    
+                // }
+                
                 i++;
             }
+
+            OnHeroPanelClose(null);
         }
 
         private void InitRes()

+ 11 - 1
Assets/Scripts/GameUI/UI/MainUIPanelData.cs

@@ -144,7 +144,6 @@ namespace Fort23.Mono
 	     }
 	   }
 	  private TextMeshProUGUI _txtDiamond;
-        
 	  public TextMeshProUGUI txtDiamond
 	   {
 	   get{
@@ -298,6 +297,17 @@ namespace Fort23.Mono
 	      return _Icon_Diamon_button;
 	     }
 	   }
+	  private GameObject _alterObj1;
+	  public GameObject alterObj1
+	   {
+	   get{
+	      if (_alterObj1 == null)
+	       {
+	         _alterObj1  = GetUIUnit<GameObject>("alterObj1"); 
+	       }
+	      return _alterObj1;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 8 - 0
Assets/Scripts/GameUI/UI/UserGuild.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: WXsW5377USoxCjVD6JlTgr9Vq1PnbcU5ZsEZtifxnbXl14lzOH8kS2s=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 103 - 0
Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanel.cs

@@ -0,0 +1,103 @@
+using Fort23.Core;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Fort23.Mono
+{
+[UIBinding(prefab = "TxtGuildPanel"  )]
+	public partial class TxtGuildPanel : UIPanel
+	{
+	    public static async void OpenTxtGuildPanel(string meg, Vector2 worldPos)
+        {
+            TxtGuildPanel txtGuildPanel =
+                await UIManager.Instance.LoadAndOpenPanel<TxtGuildPanel>(null, UILayer.Middle);
+            txtGuildPanel.SetTipMessage(meg, worldPos);
+        }
+
+        public static async void CloseTxtGuildPanel()
+        {
+            TxtGuildPanel txtGuildPanel = UIManager.Instance.GetComponent<TxtGuildPanel>();
+            UIManager.Instance.HideUIUIPanel(txtGuildPanel);
+        }
+
+        public override async CTask Open()
+        {
+            await base.Open();
+            GObjectPoolInterface.SetActive(false);
+        }
+
+        private void Init()
+        {
+        }
+
+        protected override void AddEvent()
+        {
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+            // button_bg.onClick.AddListener(OnClickButton_bg);
+        }
+
+        private void OnClickButton_bg()
+        {
+            UIManager.Instance.HideUIUIPanel(this);
+        }
+
+        public void SetTipMessage(string msg, Vector2 pos)
+        {
+            pos = this.transform.worldToLocalMatrix * pos;
+            if (pos.x > 265)
+            {
+                pos.x = 265;
+            }
+
+            if (pos.x < -265)
+            {
+                pos.x = -265;
+            }
+
+            message.text = msg;
+            RectTransform rectTransform = message.GetComponent<RectTransform>();
+            message.SetLayoutDirty();
+            LayoutRebuilder.MarkLayoutForRebuild(rectTransform);
+            LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);
+            rectTransform.GetComponent<ContentSizeFitter>().SetLayoutVertical();
+            RectTransform bgTran = bg_icon.GetComponent<RectTransform>();
+            // await TimerComponent.Instance.WaitAsync(30);
+
+            // float y=  LayoutUtility.GetPreferredSize(massge.GetComponent<RectTransform>(), 0)+40;
+            // massge.
+            // massge.OnRebuildRequested();
+            float y = rectTransform.sizeDelta.y + 40;
+            if (y < 100)
+            {
+                y = 100;
+            }
+
+            // bgTran.sizeDelta = new Vector2(bgTran.sizeDelta.x, y);
+
+            float maxY = this.transform.sizeDelta.y / 2;
+            float my2 = y / 2;
+           
+            if (pos.y > maxY - my2)
+            {
+                pos.y = maxY - my2;
+            }
+
+            if (pos.y < my2 - maxY)
+            {
+                pos.y = my2 - maxY;
+            }
+
+            dotPoint.anchoredPosition = pos;
+            LayoutRebuilder.MarkLayoutForRebuild(bgTran);
+            LayoutRebuilder.ForceRebuildLayoutImmediate(bgTran);
+            GObjectPoolInterface.SetActive(true);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanel.cs.meta

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

+ 62 - 0
Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanelData.cs

@@ -0,0 +1,62 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class TxtGuildPanel 
+	{
+	  #region 自定义数据 
+	  private Text _message;
+	  public Text message
+	   {
+	   get{
+	      if (_message == null)
+	       {
+	         _message  = GetUIUnit<Text>("message"); 
+	       }
+	      return _message;
+	     }
+	   }
+	  private RectTransform _dotPoint;
+	  public RectTransform dotPoint
+	   {
+	   get{
+	      if (_dotPoint == null)
+	       {
+	         _dotPoint  = GetUIUnit<RectTransform>("dotPoint"); 
+	       }
+	      return _dotPoint;
+	     }
+	   }
+	  private MyImage _bg_icon;
+	  public MyImage bg_icon
+	   {
+	   get{
+	      if (_bg_icon == null)
+	       {
+	         _bg_icon  = GetUIUnit<MyImage>("bg_icon"); 
+	       }
+	      return _bg_icon;
+	     }
+	   }
+	  private Button _button_bg;
+	  public Button button_bg
+	   {
+	   get{
+	      if (_button_bg == null)
+	       {
+	         _button_bg  = GetUIUnit<Button>("button_bg"); 
+	       }
+	      return _button_bg;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/UserGuild/TxtGuildPanelData.cs.meta

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

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


BIN
Excel2Json/Excel/Language.xlsx


+ 1 - 1
UGUIPack/uguiconfig.db

@@ -1 +1 @@
-{"allPackgInfos":[{"packName":"all","packgJsonPath":"/Art/UIAssets/TextrueJson/all.txt","packgSpritePath":"Assets/Res/UIAtlas/all.spriteatlasv2","lasetJsonGUID":"a6fab45fc6a5f0b09679bb4eedcdd188"},{"packName":"heroIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/heroIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/heroIcon.spriteatlasv2","lasetJsonGUID":""},{"packName":"skillIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/skillIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/skillIcon.spriteatlasv2","lasetJsonGUID":"ba8dbdc12cfea95132d75e229eac99b8"},{"packName":"itemIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/itemIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/itemIcon.spriteatlasv2","lasetJsonGUID":""},{"packName":"EquipmentIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/EquipmentIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/EquipmentIcon.spriteatlasv2","lasetJsonGUID":""},{"packName":"bg","packgJsonPath":"/Art/UIAssets/TextrueJson/bg.txt","packgSpritePath":"Assets/Res/UIAtlas/bg.spriteatlasv2","lasetJsonGUID":""},{"packName":"box","packgJsonPath":"/Art/UIAssets/TextrueJson/box.txt","packgSpritePath":"Assets/Res/UIAtlas/box.spriteatlasv2","lasetJsonGUID":""},{"packName":"allIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/allIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/allIcon.spriteatlasv2","lasetJsonGUID":"dccaa28d1756f79b182936feaa531f96"}],"isJiaoYan":true}
+{"allPackgInfos":[{"packName":"all","packgJsonPath":"/Art/UIAssets/TextrueJson/all.txt","packgSpritePath":"Assets/Res/UIAtlas/all.spriteatlasv2","lasetJsonGUID":"4c1604b7aeb2b24dc9cb46e6e4db1161"},{"packName":"heroIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/heroIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/heroIcon.spriteatlasv2","lasetJsonGUID":""},{"packName":"skillIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/skillIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/skillIcon.spriteatlasv2","lasetJsonGUID":"ba8dbdc12cfea95132d75e229eac99b8"},{"packName":"itemIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/itemIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/itemIcon.spriteatlasv2","lasetJsonGUID":""},{"packName":"EquipmentIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/EquipmentIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/EquipmentIcon.spriteatlasv2","lasetJsonGUID":""},{"packName":"bg","packgJsonPath":"/Art/UIAssets/TextrueJson/bg.txt","packgSpritePath":"Assets/Res/UIAtlas/bg.spriteatlasv2","lasetJsonGUID":""},{"packName":"box","packgJsonPath":"/Art/UIAssets/TextrueJson/box.txt","packgSpritePath":"Assets/Res/UIAtlas/box.spriteatlasv2","lasetJsonGUID":""},{"packName":"allIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/allIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/allIcon.spriteatlasv2","lasetJsonGUID":"dccaa28d1756f79b182936feaa531f96"}],"isJiaoYan":true}

+ 3 - 3
UserSettings/EditorUserSettings.asset

@@ -39,13 +39,13 @@ EditorUserSettings:
       value: 5b520d0503545b0d0c0c0a2715770748154f4d2c7d7d7e627a7d4a35b4e1646a
       flags: 0
     RecentlyUsedSceneGuid-6:
-      value: 5a50500553530b595d0f597343770941474e4c722e2a20367e794861e1b86c68
+      value: 055303045d535e5d54080e721672094412154e7b757c71342e794b65b2e4616f
       flags: 0
     RecentlyUsedSceneGuid-7:
-      value: 5a500c0357030b0f0858097a44770f40154f4f2e2a2c743229794b64e0b56c6a
+      value: 5a50500553530b595d0f597343770941474e4c722e2a20367e794861e1b86c68
       flags: 0
     RecentlyUsedSceneGuid-8:
-      value: 055303045d535e5d54080e721672094412154e7b757c71342e794b65b2e4616f
+      value: 5a500c0357030b0f0858097a44770f40154f4f2e2a2c743229794b64e0b56c6a
       flags: 0
     RecentlyUsedSceneGuid-9:
       value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 483 - 245
UserSettings/Layouts/default-2022.dwlt


BIN
美术/art_use_ui/all/Label_Bubble_Arrow.png


BIN
美术/art_use_ui/all/dec_Arrow_Down.png


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
美术/unity_use_ui/TextrueJson/all.txt


+ 1 - 1
美术/unity_use_ui/TextrueJson/bg.txt

@@ -1 +1 @@
-{"packName":"bg","isTyPack":false,"newTextureJson":[{"textrueName":"bg_appIcon","filePath":"/bg/bg_appIcon.png"},{"textrueName":"bg_Archer","filePath":"/bg/bg_Archer.png"},{"textrueName":"bg_herobagtop","filePath":"/bg/bg_herobagtop.png"},{"textrueName":"bg_herozbtop","filePath":"/bg/bg_herozbtop.png"},{"textrueName":"bg_logo","filePath":"/bg/bg_logo.png"},{"textrueName":"bg_Mage","filePath":"/bg/bg_Mage.png"},{"textrueName":"bg_priest","filePath":"/bg/bg_priest.png"},{"textrueName":"bg_warrior","filePath":"/bg/bg_warrior.png"},{"textrueName":"bg_zairu","filePath":"/bg/bg_zairu.png"}],"keyToValue":{}}
+{"packName":"bg","isTyPack":false,"newTextureJson":[{"textrueName":"bg_Archer","filePath":"/bg/bg_Archer.png"},{"textrueName":"bg_zairu","filePath":"/bg/bg_zairu.png"},{"textrueName":"bg_logo","filePath":"/bg/bg_logo.png"},{"textrueName":"bg_herozbtop","filePath":"/bg/bg_herozbtop.png"},{"textrueName":"bg_warrior","filePath":"/bg/bg_warrior.png"},{"textrueName":"bg_Mage","filePath":"/bg/bg_Mage.png"},{"textrueName":"bg_appIcon","filePath":"/bg/bg_appIcon.png"},{"textrueName":"bg_priest","filePath":"/bg/bg_priest.png"},{"textrueName":"bg_herobagtop","filePath":"/bg/bg_herobagtop.png"}],"keyToValue":{}}

BIN
美术/unity_use_ui/decorate/dec_Arrow_Down.png


Vissa filer visades inte eftersom för många filer har ändrats