Ver código fonte

添加技能UI的逻辑, 修改表结构.

lcn 4 meses atrás
pai
commit
77d1d51bf6
68 arquivos alterados com 5088 adições e 13730 exclusões
  1. 0 0
      Assets/Art/UIAssets/TextrueJson/all.txt
  2. 1 0
      Assets/Art/UIAssets/TextrueJson/skillIcon.txt
  3. 7 0
      Assets/Art/UIAssets/TextrueJson/skillIcon.txt.meta
  4. BIN
      Assets/Art/UIAssets/decorate/dec_00_04_06_Bg.png
  5. 133 0
      Assets/Art/UIAssets/decorate/dec_00_04_06_Bg.png.meta
  6. BIN
      Assets/Art/UIAssets/decorate/dec_00_04_06_Border.png
  7. 133 0
      Assets/Art/UIAssets/decorate/dec_00_04_06_Border.png.meta
  8. BIN
      Assets/Art/UIAssets/decorate/dec_s_Border.png
  9. 133 0
      Assets/Art/UIAssets/decorate/dec_s_Border.png.meta
  10. BIN
      Assets/Art/UIAssets/icon/icon_skill_10001.png
  11. 133 0
      Assets/Art/UIAssets/icon/icon_skill_10001.png.meta
  12. BIN
      Assets/Art/UIAssets/icon/icon_skill_20001.png
  13. 133 0
      Assets/Art/UIAssets/icon/icon_skill_20001.png.meta
  14. BIN
      Assets/Art/UIAssets/icon/icon_skill_30001.png
  15. 133 0
      Assets/Art/UIAssets/icon/icon_skill_30001.png.meta
  16. BIN
      Assets/Art/UIAssets/icon/icon_skill_40001.png
  17. 133 0
      Assets/Art/UIAssets/icon/icon_skill_40001.png.meta
  18. 3 3
      Assets/Editor/GameRuntimeConfigInspector.cs
  19. 184 0
      Assets/Res/Config/SkillUpConfig.json
  20. 7 0
      Assets/Res/Config/SkillUpConfig.json.meta
  21. 48 830
      Assets/Res/UI/HeroDetailPanel.prefab
  22. 1509 0
      Assets/Res/UI/SkillUIComponent.prefab
  23. 7 0
      Assets/Res/UI/SkillUIComponent.prefab.meta
  24. 1244 0
      Assets/Res/UI/WidgetIconSkill.prefab
  25. 7 0
      Assets/Res/UI/WidgetIconSkill.prefab.meta
  26. 3 0
      Assets/Res/UIAtlas/all.spriteatlasv2
  27. 19 0
      Assets/Res/UIAtlas/skillIcon.spriteatlasv2
  28. 31 0
      Assets/Res/UIAtlas/skillIcon.spriteatlasv2.meta
  29. 178 12565
      Assets/Scenes/UIBuild.scene
  30. 5 0
      Assets/Scripts/Core/Utility/GlobalParam.cs
  31. 50 0
      Assets/Scripts/GameData/ExcelConfig/SkillUpConfig.cs
  32. 11 0
      Assets/Scripts/GameData/ExcelConfig/SkillUpConfig.cs.meta
  33. 6 2
      Assets/Scripts/GameLogic/Hero/HeroInfo.cs
  34. 0 41
      Assets/Scripts/GameLogic/Hero/SkillComponent.cs
  35. 118 0
      Assets/Scripts/GameLogic/Hero/SkillData.cs
  36. 0 0
      Assets/Scripts/GameLogic/Hero/SkillData.cs.meta
  37. 71 3
      Assets/Scripts/GameLogic/Hero/SkillInfo.cs
  38. 24 1
      Assets/Scripts/GameLogic/Player/PlayerManager.cs
  39. 7 0
      Assets/Scripts/GameUI/UI/Hero/HeroDetailPanel.cs
  40. 11 0
      Assets/Scripts/GameUI/UI/Hero/HeroDetailPanelData.cs
  41. 156 0
      Assets/Scripts/GameUI/UI/Hero/SkillUIComponent.cs
  42. 11 0
      Assets/Scripts/GameUI/UI/Hero/SkillUIComponent.cs.meta
  43. 139 0
      Assets/Scripts/GameUI/UI/Hero/SkillUIComponentData.cs
  44. 11 0
      Assets/Scripts/GameUI/UI/Hero/SkillUIComponentData.cs.meta
  45. 71 0
      Assets/Scripts/GameUI/UI/Hero/WidgetIconSkill.cs
  46. 11 0
      Assets/Scripts/GameUI/UI/Hero/WidgetIconSkill.cs.meta
  47. 108 0
      Assets/Scripts/GameUI/UI/Hero/WidgetIconSkillData.cs
  48. 11 0
      Assets/Scripts/GameUI/UI/Hero/WidgetIconSkillData.cs.meta
  49. BIN
      Excel2Json/Excel/skill.xlsx
  50. 1 1
      UGUIPack/uguiconfig.db
  51. 81 279
      UserSettings/Layouts/CurrentMaximizeLayout.dwlt
  52. BIN
      美术/art_use_ui/all/dec_00_04_06_Bg.png
  53. BIN
      美术/art_use_ui/all/dec_00_04_06_Border.png
  54. BIN
      美术/art_use_ui/all/dec_s_Border.png
  55. BIN
      美术/art_use_ui/skillIcon/icon_skill_10001.png
  56. BIN
      美术/art_use_ui/skillIcon/icon_skill_20001.png
  57. BIN
      美术/art_use_ui/skillIcon/icon_skill_30001.png
  58. BIN
      美术/art_use_ui/skillIcon/icon_skill_40001.png
  59. 0 0
      美术/unity_use_ui/TextrueJson/all.txt
  60. 1 0
      美术/unity_use_ui/TextrueJson/skillIcon.txt
  61. BIN
      美术/unity_use_ui/decorate/dec_00_04_06_Bg.png
  62. BIN
      美术/unity_use_ui/decorate/dec_00_04_06_Border.png
  63. BIN
      美术/unity_use_ui/decorate/dec_s_Border.png
  64. BIN
      美术/unity_use_ui/icon/icon_skill_10001.png
  65. BIN
      美术/unity_use_ui/icon/icon_skill_20001.png
  66. BIN
      美术/unity_use_ui/icon/icon_skill_30001.png
  67. BIN
      美术/unity_use_ui/icon/icon_skill_40001.png
  68. 5 5
      美术/工具/imgui.ini

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/Art/UIAssets/TextrueJson/all.txt


+ 1 - 0
Assets/Art/UIAssets/TextrueJson/skillIcon.txt

@@ -0,0 +1 @@
+{"packName":"skillIcon","isTyPack":false,"newTextureJson":[{"textrueName":"icon_skill_10001","filePath":"/icon/icon_skill_10001.png"},{"textrueName":"icon_skill_30001","filePath":"/icon/icon_skill_30001.png"},{"textrueName":"icon_skill_20001","filePath":"/icon/icon_skill_20001.png"},{"textrueName":"icon_skill_40001","filePath":"/icon/icon_skill_40001.png"}],"keyToValue":{}}

+ 7 - 0
Assets/Art/UIAssets/TextrueJson/skillIcon.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CCgfsXj8VntE0ssJjE2wf06bQEEJDh2hBQIVdKw8CqsIq/CQd1H8m4k=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Art/UIAssets/decorate/dec_00_04_06_Bg.png


+ 133 - 0
Assets/Art/UIAssets/decorate/dec_00_04_06_Bg.png.meta

@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: CHIft3j7By/N6+I6cE4K5UfZSGg8TkYOu1RyDY3EmZFyAkXmUx2E5zQ=
+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: 36, y: 36, z: 36, w: 37}
+  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
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 1537655665
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Art/UIAssets/decorate/dec_00_04_06_Border.png


+ 133 - 0
Assets/Art/UIAssets/decorate/dec_00_04_06_Border.png.meta

@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: Wy4a4yj+WyjInfn1d+hCR0gdcVUrSeXfZKKPZ3QB8ZxlWyFc2R/1vmY=
+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: 37, y: 37, z: 37, w: 35}
+  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
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 1537655665
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Art/UIAssets/decorate/dec_s_Border.png


+ 133 - 0
Assets/Art/UIAssets/decorate/dec_s_Border.png.meta

@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: Dn4c5n6qUnnYNugfxRG5/Ob2A5LCpYnQw4swFABJh4txdbI0YxkCp9U=
+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: 16, y: 16, z: 16, w: 16}
+  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
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 1537655665
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Art/UIAssets/icon/icon_skill_10001.png


+ 133 - 0
Assets/Art/UIAssets/icon/icon_skill_10001.png.meta

@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: DXxKtXyqAHyuTOeP6grqHHhsI318oy5xUjnbU91LQQxTX1rX+INsoPY=
+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
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Art/UIAssets/icon/icon_skill_20001.png


+ 133 - 0
Assets/Art/UIAssets/icon/icon_skill_20001.png.meta

@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: XnIYvX6uUn6/QeCsxONZ4pDl23uB2E+76fZ/XqD1f6FwbWIFjsCYU8k=
+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
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Art/UIAssets/icon/icon_skill_30001.png


+ 133 - 0
Assets/Art/UIAssets/icon/icon_skill_30001.png.meta

@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: DS4ftyKvVC8z/78mBK4WCD+6oEhSIQDFUGzyeipUygGWJPkp4BiqP+M=
+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
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Art/UIAssets/icon/icon_skill_40001.png


+ 133 - 0
Assets/Art/UIAssets/icon/icon_skill_40001.png.meta

@@ -0,0 +1,133 @@
+fileFormatVersion: 2
+guid: DCxNtH+uBXlvIQ7tbBsSlkZRzxDAeowXjRmoHpe6m8sY10hkkobOD+k=
+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
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 3
Assets/Editor/GameRuntimeConfigInspector.cs

@@ -41,9 +41,9 @@ namespace Fort23.Editor
             
             if (GUILayout.Button("清理本地储存"))
             {
-                PlayerPrefs.DeleteAll();
-                PlayerPrefs.Save();
-                LogTool.Log("清理本地储存成功.");
+                // PlayerPrefs.DeleteAll();
+                // PlayerPrefs.Save();
+                // LogTool.Log("清理本地储存成功.");
                 AccountFileInfo.Instance.DeleteFile(AccountFileInfo.Instance.persistentDataPath);
             }
 

+ 184 - 0
Assets/Res/Config/SkillUpConfig.json

@@ -0,0 +1,184 @@
+{
+  "configList": [
+    {
+      "ID": 1,
+      "upType": 2,
+      "upValue": 5,
+      "idx": 3,
+      "skillParam": [
+        1
+      ]
+    },
+    {
+      "ID": 2,
+      "upType": 2,
+      "upValue": 7,
+      "idx": 4,
+      "skillParam": [
+        1
+      ]
+    },
+    {
+      "ID": 3,
+      "upType": 2,
+      "upValue": 9,
+      "idx": 5,
+      "skillParam": [
+        1
+      ]
+    },
+    {
+      "ID": 4,
+      "upType": 1,
+      "upValue": 1,
+      "idx": 0,
+      "skillParam": [
+        1
+      ]
+    },
+    {
+      "ID": 5,
+      "upType": 1,
+      "upValue": 1,
+      "idx": 1,
+      "skillParam": [
+        1
+      ]
+    },
+    {
+      "ID": 6,
+      "upType": 1,
+      "upValue": 11,
+      "idx": 2,
+      "skillParam": [
+        1
+      ]
+    },
+    {
+      "ID": 7,
+      "upType": 1,
+      "upValue": 31,
+      "idx": 1,
+      "skillParam": [
+        2
+      ]
+    },
+    {
+      "ID": 8,
+      "upType": 1,
+      "upValue": 51,
+      "idx": 2,
+      "skillParam": [
+        2
+      ]
+    },
+    {
+      "ID": 9,
+      "upType": 1,
+      "upValue": 71,
+      "idx": 3,
+      "skillParam": [
+        2
+      ]
+    },
+    {
+      "ID": 10,
+      "upType": 1,
+      "upValue": 91,
+      "idx": 4,
+      "skillParam": [
+        2
+      ]
+    },
+    {
+      "ID": 11,
+      "upType": 1,
+      "upValue": 111,
+      "idx": 5,
+      "skillParam": [
+        2
+      ]
+    },
+    {
+      "ID": 12,
+      "upType": 1,
+      "upValue": 131,
+      "idx": 1,
+      "skillParam": [
+        3
+      ]
+    },
+    {
+      "ID": 13,
+      "upType": 1,
+      "upValue": 151,
+      "idx": 2,
+      "skillParam": [
+        3
+      ]
+    },
+    {
+      "ID": 14,
+      "upType": 1,
+      "upValue": 171,
+      "idx": 3,
+      "skillParam": [
+        3
+      ]
+    },
+    {
+      "ID": 15,
+      "upType": 1,
+      "upValue": 191,
+      "idx": 4,
+      "skillParam": [
+        3
+      ]
+    },
+    {
+      "ID": 16,
+      "upType": 1,
+      "upValue": 211,
+      "idx": 5,
+      "skillParam": [
+        3
+      ]
+    },
+    {
+      "ID": 17,
+      "upType": 1,
+      "upValue": 231,
+      "idx": 1,
+      "skillParam": [
+        4
+      ]
+    },
+    {
+      "ID": 18,
+      "upType": 1,
+      "upValue": 251,
+      "idx": 2,
+      "skillParam": [
+        4
+      ]
+    },
+    {
+      "ID": 19,
+      "upType": 1,
+      "upValue": 271,
+      "idx": 3,
+      "skillParam": [
+        4
+      ]
+    },
+    {
+      "ID": 20,
+      "upType": 1,
+      "upValue": 291,
+      "idx": 4,
+      "skillParam": [
+        4
+      ]
+    }
+  ]
+}

+ 7 - 0
Assets/Res/Config/SkillUpConfig.json.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: WnMcvSKtVS3h1ShNZRsnyEsJp5u31xuQPlpim+wFpO1MQsbMlygco7Y=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Diferenças do arquivo suprimidas por serem muito extensas
+ 48 - 830
Assets/Res/UI/HeroDetailPanel.prefab


+ 1509 - 0
Assets/Res/UI/SkillUIComponent.prefab

@@ -0,0 +1,1509 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &1028820458441546150
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2386831869758086357}
+  - component: {fileID: 3541113496881229149}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: skill_group
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2386831869758086357
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1028820458441546150}
+  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: 7678038991277897505}
+  m_Father: {fileID: 8459636219199963279}
+  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: -243, y: 320}
+  m_SizeDelta: {x: 224.67001, y: 109.29004}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &3541113496881229149
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1028820458441546150}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 42.9
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &1335202512441972296
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 637797717169572563}
+  - component: {fileID: 3199744273824380900}
+  - component: {fileID: 772150921752026299}
+  - component: {fileID: 1027732467348844608}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Bg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &637797717169572563
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1335202512441972296}
+  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: 4105650447501009726}
+  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: -4, y: -4}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3199744273824380900
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1335202512441972296}
+  m_CullTransparentMesh: 1
+--- !u!114 &772150921752026299
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1335202512441972296}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ShowMaskGraphic: 1
+--- !u!114 &1027732467348844608
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1335202512441972296}
+  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.17254902, g: 0.1764706, b: 0.26666668, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_00_04_06_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: 8fbc3902b8b4a448719eb520746784cf
+--- !u!1 &1416342346878455576
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4388396417434440462}
+  - component: {fileID: 6310280512319826708}
+  - component: {fileID: 6354889710214839342}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: dec_eft
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4388396417434440462
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1416342346878455576}
+  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: 8357257302712234465}
+  m_Father: {fileID: 8459636219199963279}
+  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: -304.69998, y: 158}
+  m_SizeDelta: {x: 104.1, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6310280512319826708
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1416342346878455576}
+  m_CullTransparentMesh: 1
+--- !u!114 &6354889710214839342
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1416342346878455576}
+  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.6509434, g: 0.6509434, b: 0.6509434, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Round12
+  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: ace5466faa841bb7b9046587aae54d38
+--- !u!1 &1806108059677379203
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5231644514269099707}
+  - component: {fileID: 4396069779853996381}
+  - component: {fileID: 8666913713153389831}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txSkillLv3Add
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5231644514269099707
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1806108059677379203}
+  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: 4397437230936891047}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 344, y: -113}
+  m_SizeDelta: {x: 688, y: 30}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &4396069779853996381
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1806108059677379203}
+  m_CullTransparentMesh: 1
+--- !u!114 &8666913713153389831
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1806108059677379203}
+  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: 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_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5927\u86C7\u7B2C\u4E00\u4E2A\u6280\u80FD\uFF0C\u5BF9\u654C\u4EBA\u7167\u6210\u4F24\u5BB3\uFF0C\u5E76\u5C06\u654C\u4EBA\u51FB\u9000\u4E00\u6BB5\u8DDD\u79BB"
+--- !u!1 &1829847571812348693
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8870045557280260565}
+  - component: {fileID: 7568156432243018947}
+  - component: {fileID: 6490593083367128315}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txSkillLv2Add
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8870045557280260565
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1829847571812348693}
+  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: 4397437230936891047}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 344, y: -83}
+  m_SizeDelta: {x: 688, y: 30}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &7568156432243018947
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1829847571812348693}
+  m_CullTransparentMesh: 1
+--- !u!114 &6490593083367128315
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1829847571812348693}
+  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: 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_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5927\u86C7\u7B2C\u4E00\u4E2A\u6280\u80FD\uFF0C\u5BF9\u654C\u4EBA\u7167\u6210\u4F24\u5BB3\uFF0C\u5E76\u5C06\u654C\u4EBA\u51FB\u9000\u4E00\u6BB5\u8DDD\u79BB"
+--- !u!1 &1903911127976497113
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8439587507723242819}
+  - component: {fileID: 7121809380833765730}
+  - component: {fileID: 1203935688688728929}
+  - component: {fileID: 2292706173671014847}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txSkillLv1Desc
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8439587507723242819
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1903911127976497113}
+  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: 1
+  m_Children: []
+  m_Father: {fileID: 4397437230936891047}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 344, y: -0}
+  m_SizeDelta: {x: 688, y: 0}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &7121809380833765730
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1903911127976497113}
+  m_CullTransparentMesh: 1
+--- !u!114 &1203935688688728929
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1903911127976497113}
+  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: 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_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 1
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5927\u86C7\u7B2C\u4E00\u4E2A\u6280\u80FD\uFF0C\u5BF9\u654C\u4EBA\u7167\u6210\u4F24\u5BB3\uFF0C\u5E76\u5C06\u654C\u4EBA\u51FB\u9000\u4E00\u6BB5\u8DDD\u79BB1\n\u5927\u86C7\u7B2C\u4E00\u4E2A\u6280\u80FD\uFF0C\u5BF9\u654C\u4EBA\u7167\u6210\u4F24\u5BB3\uFF0C\u5E76\u5C06\u654C\u4EBA\u51FB\u9000\u4E00\u6BB5\u8DDD\u79BB2\n\u5927\u86C7\u7B2C\u4E00\u4E2A\u6280\u80FD\uFF0C\u5BF9\u654C\u4EBA\u7167\u6210\u4F24\u5BB3\uFF0C\u5E76\u5C06\u654C\u4EBA\u51FB\u9000\u4E00\u6BB5\u8DDD\u79BB3"
+--- !u!114 &2292706173671014847
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1903911127976497113}
+  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 &2456279290738976765
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4397437230936891047}
+  - component: {fileID: 8772388447304254165}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: skillDesc
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4397437230936891047
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2456279290738976765}
+  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: 8439587507723242819}
+  - {fileID: 8870045557280260565}
+  - {fileID: 5231644514269099707}
+  - {fileID: 8233403908056166009}
+  m_Father: {fileID: 8459636219199963279}
+  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: -304, y: 75}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8772388447304254165
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2456279290738976765}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &3287081935252832163
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4105650447501009726}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: skillUpTips_di
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4105650447501009726
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3287081935252832163}
+  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: 637797717169572563}
+  - {fileID: 8089296172921106170}
+  - {fileID: 8803200532895793815}
+  m_Father: {fileID: 8459636219199963279}
+  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: -170}
+  m_SizeDelta: {x: 606.1, y: 119.2}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &3468534719193380031
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2589088228504847424}
+  - component: {fileID: 2127374248778295320}
+  - component: {fileID: 8345654116379065677}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txtLv
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2589088228504847424
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3468534719193380031}
+  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: 8459636219199963279}
+  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: -104.4, y: 205}
+  m_SizeDelta: {x: 52, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2127374248778295320
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3468534719193380031}
+  m_CullTransparentMesh: 1
+--- !u!114 &8345654116379065677
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3468534719193380031}
+  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.7830189, g: 0.7830189, b: 0.7830189, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 4
+--- !u!1 &3724598441491386566
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8459636219199963279}
+  - component: {fileID: 5658093172566555573}
+  - component: {fileID: 8687561165943941247}
+  - component: {fileID: 7951263076483495950}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: SkillUIComponent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8459636219199963279
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3724598441491386566}
+  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: 2386831869758086357}
+  - {fileID: 1061230050760813048}
+  - {fileID: 1011666818352242648}
+  - {fileID: 2589088228504847424}
+  - {fileID: 4388396417434440462}
+  - {fileID: 4397437230936891047}
+  - {fileID: 4105650447501009726}
+  m_Father: {fileID: 0}
+  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: -1.4569092}
+  m_SizeDelta: {x: 750, y: 500}
+  m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &5658093172566555573
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3724598441491386566}
+  m_CullTransparentMesh: 1
+--- !u!114 &8687561165943941247
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3724598441491386566}
+  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.16862746, g: 0.23921569, b: 0.22352941, 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: 21300000, guid: 03cc62a06f5fc44639b0a7ec241ee65f, type: 3}
+  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
+--- !u!114 &7951263076483495950
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3724598441491386566}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: txtSkillName
+    gameObject: {fileID: 2377774354355388003}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txtLv
+    gameObject: {fileID: 8345654116379065677}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txtCD
+    gameObject: {fileID: 7886407335460711750}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txSkillLv1Desc
+    gameObject: {fileID: 1203935688688728929}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txSkillLv2Add
+    gameObject: {fileID: 6490593083367128315}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txSkillLv3Add
+    gameObject: {fileID: 8666913713153389831}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txSkillLv4Add
+    gameObject: {fileID: 3059363093775096407}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: skillRoot
+    gameObject: {fileID: 2386831869758086357}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txtTips
+    gameObject: {fileID: 4538206110320624411}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: skillDesc
+    gameObject: {fileID: 2456279290738976765}
+    isAssetBundle: 0
+    isList: 1
+    ListCollectorDatas:
+    - gameObject: {fileID: 1903911127976497113}
+    - gameObject: {fileID: 1829847571812348693}
+    - gameObject: {fileID: 1806108059677379203}
+    - gameObject: {fileID: 7033063365279083689}
+  - key: layoutGroup
+    gameObject: {fileID: 8772388447304254165}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 1903911127976497113}
+    - gameObject: {fileID: 1829847571812348693}
+    - gameObject: {fileID: 1806108059677379203}
+    - gameObject: {fileID: 7033063365279083689}
+  isAssetBundle: 1
+--- !u!1 &3883852036818116843
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8803200532895793815}
+  - component: {fileID: 5592386108138744617}
+  - component: {fileID: 4538206110320624411}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txtTips
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8803200532895793815
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3883852036818116843}
+  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: 4105650447501009726}
+  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: 539.3, y: 110.9}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5592386108138744617
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3883852036818116843}
+  m_CullTransparentMesh: 1
+--- !u!114 &4538206110320624411
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3883852036818116843}
+  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.7492108, g: 0.754717, b: 0.74403703, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 30
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u6280\u80FD\u5DF2\u8FBE\u6700\u9AD8\u7B49\u7EA7"
+--- !u!1 &4356462366393647132
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1011666818352242648}
+  - component: {fileID: 7788972489946103816}
+  - component: {fileID: 7178325271795141369}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txt
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1011666818352242648
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4356462366393647132}
+  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: 8459636219199963279}
+  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: -158, y: 205}
+  m_SizeDelta: {x: 52, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7788972489946103816
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4356462366393647132}
+  m_CullTransparentMesh: 1
+--- !u!114 &7178325271795141369
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4356462366393647132}
+  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.7830189, g: 0.7830189, b: 0.7830189, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u7B49\u7EA7:"
+--- !u!1 &5993052203131053859
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8089296172921106170}
+  - component: {fileID: 3066398490269742563}
+  - component: {fileID: 6293627713428882785}
+  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 &8089296172921106170
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5993052203131053859}
+  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: 4105650447501009726}
+  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.000015258789, y: -0.0000076293945}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3066398490269742563
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5993052203131053859}
+  m_CullTransparentMesh: 1
+--- !u!114 &6293627713428882785
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5993052203131053859}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_00_04_06_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: 8fbc3902b8b4a448719eb520746784cf
+--- !u!1 &6307184681931449058
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8357257302712234465}
+  - component: {fileID: 1416142448490798761}
+  - component: {fileID: 7886407335460711750}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txtCD
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8357257302712234465
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6307184681931449058}
+  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: 4388396417434440462}
+  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: 2, y: 0}
+  m_SizeDelta: {x: 79.1, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1416142448490798761
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6307184681931449058}
+  m_CullTransparentMesh: 1
+--- !u!114 &7886407335460711750
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6307184681931449058}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u51B7\u53743\u79D2"
+--- !u!1 &7033063365279083689
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8233403908056166009}
+  - component: {fileID: 5946602135712632191}
+  - component: {fileID: 3059363093775096407}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txSkillLv4Add
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8233403908056166009
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7033063365279083689}
+  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: 4397437230936891047}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 344, y: -143}
+  m_SizeDelta: {x: 688, y: 30}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &5946602135712632191
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7033063365279083689}
+  m_CullTransparentMesh: 1
+--- !u!114 &3059363093775096407
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7033063365279083689}
+  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.6509434, g: 0.6509434, b: 0.6509434, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 24
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5927\u86C7\u7B2C\u4E00\u4E2A\u6280\u80FD\uFF0C\u5BF9\u654C\u4EBA\u7167\u6210\u4F24\u5BB3\uFF0C\u5E76\u5C06\u654C\u4EBA\u51FB\u9000\u4E00\u6BB5\u8DDD\u79BB"
+--- !u!1 &7605196524417204618
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1061230050760813048}
+  - component: {fileID: 8720316360143550269}
+  - component: {fileID: 2377774354355388003}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txtSkillName
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1061230050760813048
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7605196524417204618}
+  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: 8459636219199963279}
+  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: -273, y: 205}
+  m_SizeDelta: {x: 173.4, y: 40}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8720316360143550269
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7605196524417204618}
+  m_CullTransparentMesh: 1
+--- !u!114 &2377774354355388003
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7605196524417204618}
+  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.78335387, g: 1, b: 0.514151, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 1, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: a61334e31cf014203a72ff5de1c54c27, type: 3}
+    m_FontSize: 36
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 131
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u6280\u80FD\u540D\u5B57"
+--- !u!1001 &2249487104835043702
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 2386831869758086357}
+    m_Modifications:
+    - target: {fileID: 1165912544772320847, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_Name
+      value: WidgetIconSkill
+      objectReference: {fileID: 0}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.size
+      value: 8
+      objectReference: {fileID: 0}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].key
+      value: imgBorder
+      objectReference: {fileID: 0}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].gameObject
+      value: 
+      objectReference: {fileID: 6356623614902820956}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].ListCollectorDatas.Array.size
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].ListCollectorDatas.Array.data[0].gameObject
+      value: 
+      objectReference: {fileID: 4730963194112808987}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].ListCollectorDatas.Array.data[1].gameObject
+      value: 
+      objectReference: {fileID: 5415807348339721676}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].ListCollectorDatas.Array.data[2].gameObject
+      value: 
+      objectReference: {fileID: 6179864305382629958}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].ListCollectorDatas.Array.data[3].gameObject
+      value: 
+      objectReference: {fileID: 4218396650660049734}
+    - target: {fileID: 3873412332717944351, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: data.Array.data[7].ListCollectorDatas.Array.data[4].gameObject
+      value: 
+      objectReference: {fileID: 4947217298623276250}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_Pivot.x
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_Pivot.y
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_AnchorMin.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 105.76999
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 104.85
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+--- !u!1 &4218396650660049734 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 2719340735970800176, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+  m_PrefabInstance: {fileID: 2249487104835043702}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1 &4730963194112808987 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 6813956608893737325, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+  m_PrefabInstance: {fileID: 2249487104835043702}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1 &4947217298623276250 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 6602210470685861292, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+  m_PrefabInstance: {fileID: 2249487104835043702}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1 &5415807348339721676 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 6061590614435071162, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+  m_PrefabInstance: {fileID: 2249487104835043702}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1 &6179864305382629958 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 5401084022597182256, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+  m_PrefabInstance: {fileID: 2249487104835043702}
+  m_PrefabAsset: {fileID: 0}
+--- !u!114 &6356623614902820956 stripped
+MonoBehaviour:
+  m_CorrespondingSourceObject: {fileID: 5116242993357496618, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+  m_PrefabInstance: {fileID: 2249487104835043702}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!224 &7678038991277897505 stripped
+RectTransform:
+  m_CorrespondingSourceObject: {fileID: 8483118492620715607, guid: 31df5e9de4be4415e88452d7f77f6689, type: 3}
+  m_PrefabInstance: {fileID: 2249487104835043702}
+  m_PrefabAsset: {fileID: 0}

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

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

+ 1244 - 0
Assets/Res/UI/WidgetIconSkill.prefab

@@ -0,0 +1,1244 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &506726560752601671
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5283055294821255256}
+  - component: {fileID: 420217867732480803}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Stars (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5283055294821255256
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 506726560752601671}
+  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: 3940730527035410967}
+  - {fileID: 2872013241818242411}
+  - {fileID: 4263293867200098607}
+  - {fileID: 2034671499228621899}
+  - {fileID: 4391621997819214439}
+  m_Father: {fileID: 2396785491246580743}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -7.1149955, y: 28.575089}
+  m_SizeDelta: {x: 94.79, y: 28.9}
+  m_Pivot: {x: 1, y: 1}
+--- !u!114 &420217867732480803
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 506726560752601671}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 5
+    m_Bottom: 0
+  m_ChildAlignment: 2
+  m_Spacing: -5
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 1
+--- !u!1 &1165912544772320847
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8483118492620715607}
+  - component: {fileID: 3873412332717944351}
+  - component: {fileID: 7265675937267221902}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: WidgetIconSkill
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8483118492620715607
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1165912544772320847}
+  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: 9156430147335667871}
+  - {fileID: 3460813642022603222}
+  - {fileID: 3811102612058249445}
+  - {fileID: 2396785491246580743}
+  - {fileID: 1056835093837904738}
+  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: 51, y: 11.700001}
+  m_SizeDelta: {x: 105.76999, y: 104.85}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &3873412332717944351
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1165912544772320847}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: iconSkill
+    gameObject: {fileID: 6159477993926321297}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: txtLv
+    gameObject: {fileID: 6020789715521283406}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: unLockObj
+    gameObject: {fileID: 4591618301146116891}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: lockObj
+    gameObject: {fileID: 3830168671176449889}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: stars
+    gameObject: {fileID: 506726560752601671}
+    isAssetBundle: 0
+    isList: 1
+    ListCollectorDatas:
+    - gameObject: {fileID: 6813956608893737325}
+    - gameObject: {fileID: 6061590614435071162}
+    - gameObject: {fileID: 5401084022597182256}
+    - gameObject: {fileID: 2719340735970800176}
+    - gameObject: {fileID: 6602210470685861292}
+  - key: lockImgObj
+    gameObject: {fileID: 7120202328730777872}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 6813956608893737325}
+    - gameObject: {fileID: 6061590614435071162}
+    - gameObject: {fileID: 5401084022597182256}
+    - gameObject: {fileID: 2719340735970800176}
+    - gameObject: {fileID: 6602210470685861292}
+  - key: btnSkillDetail
+    gameObject: {fileID: 7265675937267221902}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 6813956608893737325}
+    - gameObject: {fileID: 6061590614435071162}
+    - gameObject: {fileID: 5401084022597182256}
+    - gameObject: {fileID: 2719340735970800176}
+    - gameObject: {fileID: 6602210470685861292}
+  isAssetBundle: 1
+--- !u!114 &7265675937267221902
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1165912544772320847}
+  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: 0}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &1251407422704769877
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3460813642022603222}
+  - component: {fileID: 2924403871922042855}
+  - component: {fileID: 5116242993357496618}
+  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 &3460813642022603222
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1251407422704769877}
+  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: 8483118492620715607}
+  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 &2924403871922042855
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1251407422704769877}
+  m_CullTransparentMesh: 1
+--- !u!114 &5116242993357496618
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1251407422704769877}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 1, b: 0.63137245, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_s_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: 7c5e93e3331cd67b15983d0d2161d334
+--- !u!1 &2511437534926891624
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3001914351913603741}
+  - component: {fileID: 5622714590719730595}
+  - component: {fileID: 6020789715521283406}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: txtLv
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3001914351913603741
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2511437534926891624}
+  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: 3811102612058249445}
+  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.29986572}
+  m_SizeDelta: {x: 30, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5622714590719730595
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2511437534926891624}
+  m_CullTransparentMesh: 1
+--- !u!114 &6020789715521283406
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2511437534926891624}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 4
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 7137805b022d44869b12d93cb388c588, type: 2}
+  m_sharedMaterial: {fileID: 8527393934874279224, guid: 7137805b022d44869b12d93cb388c588, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 20
+  m_fontSizeBase: 20
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 36
+  m_fontStyle: 0
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: -3
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &2719340735970800176
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2034671499228621899}
+  - component: {fileID: 548636593029913762}
+  - component: {fileID: 7982629861520623223}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Grade_Star (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2034671499228621899
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2719340735970800176}
+  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: 1
+  m_Children: []
+  m_Father: {fileID: 5283055294821255256}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 36.29, y: -16.5}
+  m_SizeDelta: {x: 21, y: 23}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &548636593029913762
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2719340735970800176}
+  m_CullTransparentMesh: 1
+--- !u!114 &7982629861520623223
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2719340735970800176}
+  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_star
+  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: 03b3872585b24d54f63b884a410da2bc
+--- !u!1 &3830168671176449889
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2396785491246580743}
+  - component: {fileID: 3335286741439784289}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: lockObj
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &2396785491246580743
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3830168671176449889}
+  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: 4206389019135647494}
+  - {fileID: 5283055294821255256}
+  m_Father: {fileID: 8483118492620715607}
+  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: -54.2}
+  m_SizeDelta: {x: 100, y: 25}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3335286741439784289
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3830168671176449889}
+  m_CullTransparentMesh: 1
+--- !u!1 &3882309321799890407
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 9156430147335667871}
+  - component: {fileID: 8543413315435700445}
+  - component: {fileID: 6159477993926321297}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: SkillIcon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &9156430147335667871
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3882309321799890407}
+  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: 8483118492620715607}
+  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: 94.08, y: 94.08}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8543413315435700445
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3882309321799890407}
+  m_CullTransparentMesh: 1
+--- !u!114 &6159477993926321297
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3882309321799890407}
+  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: icon_skill_10001
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: df05f928400d848c387e627e40486378, type: 3}
+  packInfo:
+    packName: skillIcon
+    packgJsonPath: /Art/UIAssets/TextrueJson/skillIcon.txt
+    packgSpritePath: Assets/Res/UIAtlas/skillIcon.spriteatlasv2
+    lasetJsonGUID: 94128d0dbe9cd8207418b750524ba469
+--- !u!1 &4591618301146116891
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3811102612058249445}
+  - component: {fileID: 5236866939590312793}
+  - component: {fileID: 7818447835910800679}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: unLockObj
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &3811102612058249445
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4591618301146116891}
+  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: 3001914351913603741}
+  m_Father: {fileID: 8483118492620715607}
+  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: -51.3}
+  m_SizeDelta: {x: 22.74, y: 23.33}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5236866939590312793
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4591618301146116891}
+  m_CullTransparentMesh: 1
+--- !u!114 &7818447835910800679
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4591618301146116891}
+  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.23843007, g: 0.27993247, b: 0.3584906, 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_circle78
+  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: ace5466faa841bb7b9046587aae54d38
+--- !u!1 &5401084022597182256
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4263293867200098607}
+  - component: {fileID: 4719811412661842074}
+  - component: {fileID: 5427185956143134163}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Grade_Star (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4263293867200098607
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5401084022597182256}
+  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: 1
+  m_Children: []
+  m_Father: {fileID: 5283055294821255256}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 52.29, y: -16.5}
+  m_SizeDelta: {x: 21, y: 23}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4719811412661842074
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5401084022597182256}
+  m_CullTransparentMesh: 1
+--- !u!114 &5427185956143134163
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5401084022597182256}
+  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_star
+  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: 03b3872585b24d54f63b884a410da2bc
+--- !u!1 &6061590614435071162
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2872013241818242411}
+  - component: {fileID: 17146910267716847}
+  - component: {fileID: 6566535384631032622}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Grade_Star (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2872013241818242411
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6061590614435071162}
+  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: 1
+  m_Children: []
+  m_Father: {fileID: 5283055294821255256}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 68.29, y: -16.5}
+  m_SizeDelta: {x: 21, y: 23}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &17146910267716847
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6061590614435071162}
+  m_CullTransparentMesh: 1
+--- !u!114 &6566535384631032622
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6061590614435071162}
+  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_star
+  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: 03b3872585b24d54f63b884a410da2bc
+--- !u!1 &6602210470685861292
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4391621997819214439}
+  - component: {fileID: 5363779068312699200}
+  - component: {fileID: 5281707042691576542}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Grade_Star (4)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4391621997819214439
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6602210470685861292}
+  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: 1
+  m_Children: []
+  m_Father: {fileID: 5283055294821255256}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 20.29, y: -16.5}
+  m_SizeDelta: {x: 21, y: 23}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5363779068312699200
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6602210470685861292}
+  m_CullTransparentMesh: 1
+--- !u!114 &5281707042691576542
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6602210470685861292}
+  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_star
+  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: 03b3872585b24d54f63b884a410da2bc
+--- !u!1 &6813956608893737325
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3940730527035410967}
+  - component: {fileID: 5584008780693276821}
+  - component: {fileID: 2858210583760354033}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Grade_Star
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3940730527035410967
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6813956608893737325}
+  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: 1
+  m_Children: []
+  m_Father: {fileID: 5283055294821255256}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 84.29, y: -16.5}
+  m_SizeDelta: {x: 21, y: 23}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5584008780693276821
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6813956608893737325}
+  m_CullTransparentMesh: 1
+--- !u!114 &2858210583760354033
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6813956608893737325}
+  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_star
+  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: 03b3872585b24d54f63b884a410da2bc
+--- !u!1 &7120202328730777872
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1056835093837904738}
+  - component: {fileID: 4629470827941375646}
+  - component: {fileID: 9116664584304694906}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: lockImg
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1056835093837904738
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7120202328730777872}
+  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: 8483118492620715607}
+  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: 36.9, y: -33.000004}
+  m_SizeDelta: {x: 22.66, y: 26.06}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4629470827941375646
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7120202328730777872}
+  m_CullTransparentMesh: 1
+--- !u!114 &9116664584304694906
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7120202328730777872}
+  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: icon_Lock
+  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: ace5466faa841bb7b9046587aae54d38
+--- !u!1 &9138354019805263729
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4206389019135647494}
+  - component: {fileID: 4119395043419358556}
+  - component: {fileID: 6240445791836432024}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: dec_star
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4206389019135647494
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9138354019805263729}
+  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: 2396785491246580743}
+  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.00007247925}
+  m_SizeDelta: {x: 100, y: 25}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4119395043419358556
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9138354019805263729}
+  m_CullTransparentMesh: 1
+--- !u!114 &6240445791836432024
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9138354019805263729}
+  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.23843007, g: 0.27993247, b: 0.3584906, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_Round12
+  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: ace5466faa841bb7b9046587aae54d38

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

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DHtL4y/4Wi+YnM8fyLUQGjEv/usGFmSZXak6xuve4hSB4LPXll2hzaM=
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 0
Assets/Res/UIAtlas/all.spriteatlasv2

@@ -27,6 +27,7 @@ SpriteAtlasAsset:
     - {fileID: 2800000, guid: 137d66878d81240e08b1f9e634dd03e5, type: 3}
     - {fileID: 2800000, guid: c9076402f3d8e4f14b590c121f9c99d0, type: 3}
     - {fileID: 2800000, guid: 620836cccebfa47d69f3604400cda9d1, type: 3}
+    - {fileID: 2800000, guid: dd5f2c8c6196c4f2da80fb80e8d302c1, type: 3}
     - {fileID: 2800000, guid: 036dc8ba1666442588bd4900d7967f74, type: 3}
     - {fileID: 2800000, guid: df1cd931072aa4a118088d9e27a0a603, type: 3}
     - {fileID: 2800000, guid: 82fb7f520a3d042f68f126f07425081c, type: 3}
@@ -49,6 +50,7 @@ SpriteAtlasAsset:
     - {fileID: 2800000, guid: 12f59c252111d4ddaa1efdbe970c9338, type: 3}
     - {fileID: 2800000, guid: 88f8d005a66c74c8e8516498671a5363, type: 3}
     - {fileID: 2800000, guid: e1b6b9fd78e034d5da9c741d07ed1146, type: 3}
+    - {fileID: 2800000, guid: 7802bfdd398ef4cf8a545b3d8362f081, type: 3}
     - {fileID: 2800000, guid: 644d6a9935ab8468f91bccdf0e81217e, type: 3}
     - {fileID: 2800000, guid: 0107877e5f4474feeb6c3a48ddbd0181, type: 3}
     - {fileID: 2800000, guid: e6614d7880f624bebb9eb042438465e7, type: 3}
@@ -65,6 +67,7 @@ SpriteAtlasAsset:
     - {fileID: 2800000, guid: 044267119b30c460785747c947493225, type: 3}
     - {fileID: 2800000, guid: ebc537e5817db4407935a71d199232e9, type: 3}
     - {fileID: 2800000, guid: 687226eea50e240aeb387bc0204de028, type: 3}
+    - {fileID: 2800000, guid: 143cd712a8bc04e1c9218c3c504b7abf, type: 3}
     - {fileID: 2800000, guid: d320d0b7f786e44768dbf452a215d9f4, type: 3}
     - {fileID: 2800000, guid: 265dc7048cc994225bb9669326ab9ed6, type: 3}
     - {fileID: 2800000, guid: 11b26917032164d598602af49f7fe468, type: 3}

+ 19 - 0
Assets/Res/UIAtlas/skillIcon.spriteatlasv2

@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!612988286 &1
+SpriteAtlasAsset:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  serializedVersion: 3
+  m_MasterAtlas: {fileID: 0}
+  m_ImporterData:
+    packables:
+    - {fileID: 2800000, guid: 26e0f7c71e95f4b67b429f478069bc93, type: 3}
+    - {fileID: 2800000, guid: 2d02827d80f314b27ad033444533c025, type: 3}
+    - {fileID: 2800000, guid: a878d3156a1104bb5a021cc9db275ec9, type: 3}
+    - {fileID: 2800000, guid: 3fb1e3f2ace104b39a8b5a61d145264f, type: 3}
+  m_IsVariant: 0
+  m_IsPlaceholder: 0

+ 31 - 0
Assets/Res/UIAtlas/skillIcon.spriteatlasv2.meta

@@ -0,0 +1,31 @@
+fileFormatVersion: 2
+guid: WywfsHykUXO64afBjDLAftDj9hb1g8MQbwpU3S5Y1dqnHCzISvmZS5U=
+SpriteAtlasImporter:
+  externalObjects: {}
+  textureSettings:
+    serializedVersion: 3
+    anisoLevel: 1
+    compressionQuality: 50
+    maxTextureSize: 2048
+    textureCompression: 0
+    filterMode: 1
+    generateMipMaps: 0
+    readable: 0
+    crunchedCompression: 0
+    webStreaming: 0
+    sRGB: 1
+  platformSettings: []
+  packingSettings:
+    serializedVersion: 2
+    padding: 8
+    blockOffset: 1
+    allowAlphaSplitting: 0
+    enableRotation: 0
+    enableTightPacking: 0
+    enableAlphaDilation: 0
+  secondaryTextureSettings: {}
+  variantMultiplier: 1
+  bindAsDefault: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Diferenças do arquivo suprimidas por serem muito extensas
+ 178 - 12565
Assets/Scenes/UIBuild.scene


+ 5 - 0
Assets/Scripts/Core/Utility/GlobalParam.cs

@@ -19,5 +19,10 @@ namespace Core.Utility
         /// 最大等级差
         /// </summary>
         public static int Max_Main_Level_Difference = 10;
+        
+        /// <summary>
+        /// 普攻技能组
+        /// </summary>
+        public static int Normal_Attack_Skill_Group_ID = 1001;
     }
 }

+ 50 - 0
Assets/Scripts/GameData/ExcelConfig/SkillUpConfig.cs

@@ -0,0 +1,50 @@
+// Auto Generated Code By excel2json
+// Generate From Excel\skill.xlsx. SheetName: SkillUpConfig
+
+using System;
+using Fort23.GameData;
+
+namespace Excel2Json
+{
+	[Config(prefab = "SkillUpConfig.json")]
+	public partial class SkillUpConfigHolder : ConfigHolder<SkillUpConfig>
	{
+	}
+
+
+	[Serializable]
+	public struct SkillUpConfig : IConfig
	{
+		public int GetID() {return ID;} 
+		/// <summary>
+		///表ID
+		/// </summary>
+public int ID;
+
+
+		/// <summary>
+		///1.等级 2.星级
+		/// </summary>
+public int upType;
+
+
+		/// <summary>
+		///具体星级 或等级
+		/// </summary>
+public int upValue;
+
+
+		/// <summary>
+		///技能位置 对应HeroModel表的下标
+		/// </summary>
+public int idx;
+
+
+		/// <summary>
+		///对应HeroModel表的下标和等级 0;1 表示1位置的1级 1;1 表示2位置的1级 1;2 表示3位置的2级
+		/// </summary>
+public int[] skillParam;
+
+
+	}
+
+}
+// End of Auto Generated Code

+ 11 - 0
Assets/Scripts/GameData/ExcelConfig/SkillUpConfig.cs.meta

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

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

@@ -15,7 +15,10 @@ namespace GameLogic.Hero
         public bool isLead;
         
 
-        public SkillComponent skillComponent;
+        /// <summary>
+        /// 技能数据
+        /// </summary>
+        public SkillData SkillData;
 
         public string iconZhiYe
         {
@@ -51,7 +54,8 @@ namespace GameLogic.Hero
                 heroData.heroPromoteId);
             CalFactor();
             CalAttribute();
-            skillComponent = new SkillComponent(this);
+            SkillData = new SkillData(this);
+            SkillData.InitSkills();
         }
 
         public HeroInfo Upgrade()

+ 0 - 41
Assets/Scripts/GameLogic/Hero/SkillComponent.cs

@@ -1,41 +0,0 @@
-using System.Collections.Generic;
-using Excel2Json;
-using Fort23.UTool;
-
-namespace GameLogic.Hero
-{
-    public class SkillComponent
-    {
-        public SkillConfig skillConfig;
-
-        public List<SkillInfo> allSkills = new List<SkillInfo>();
-
-        public HeroInfo heroInfo;
-
-        public SkillComponent(HeroInfo heroInfo)
-        {
-            this.heroInfo = heroInfo;
-        }
-
-        // public void Init(HeroInfo heroInfo)
-        // {
-        //     this.heroInfo = heroInfo;
-        // }
-        
-        public void InitSkills()
-        {
-            for (int i = 0; i < heroInfo.skillId.Length; i++)
-            {
-                SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(heroInfo.skillId[i]);
-                SkillInfo skillInfo = new SkillInfo();
-                skillInfo.Init(heroInfo, skillConfig);
-                allSkills.Add(skillInfo);
-            }
-        }
-
-        public void ShowUI()
-        {
-            
-        }
-    }
-}

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

@@ -0,0 +1,118 @@
+using System.Collections.Generic;
+using System.Linq;
+using Excel2Json;
+using Fort23.UTool;
+
+namespace GameLogic.Hero
+{
+    public class SkillData
+    {
+        public SkillConfig skillConfig;
+
+        /// <summary>
+        /// 所有技能
+        /// </summary>
+        public List<SkillInfo> allSkills = new List<SkillInfo>();
+
+        /// <summary>
+        /// 已解锁的技能
+        /// </summary>
+        public List<SkillInfo> allUnLockSkill = new List<SkillInfo>();
+        
+        /// <summary>
+        /// 战斗中的技能数据
+        /// </summary>
+        public List<SkillInfo> allSkill4Combat = new List<SkillInfo>();
+        
+        public Dictionary<int, List<SkillInfo>> mySkillDic = new Dictionary<int, List<SkillInfo>>();
+
+        public HeroInfo heroInfo;
+
+        public SkillData(HeroInfo heroInfo)
+        {
+            this.heroInfo = heroInfo;
+        }
+
+        /// <summary>
+        /// 获取最高等级等技能(已解锁),或者1级技能(未解锁时)
+        /// </summary>
+        /// <returns>最高等级等技能(已解锁),或者1级技能(未解锁时)</returns>
+        public SkillInfo GetHighestLevelOr1(int groupID, bool onlyUnLock = false)
+        {
+            SkillInfo skillInfo = null;
+            int lv = 0;
+            for(int i = 0; i < mySkillDic[groupID].Count; i++)
+            {
+                SkillInfo info = mySkillDic[groupID][i];
+
+                if (i == 0 && !onlyUnLock)
+                {
+                    skillInfo = info;
+                }
+                
+                if (info.isUnLock && info.skillConfig.level > lv)
+                {
+                    lv = info.skillConfig.level;
+                    skillInfo = info;
+                }
+            }
+
+            return skillInfo;
+        }
+
+        // public void Init(HeroInfo heroInfo)
+        // {
+        //     this.heroInfo = heroInfo;
+        // }
+        
+        public void InitSkills()
+        {
+            for (int i = 0; i < heroInfo.skillId.Length; i++)
+            {
+                int skillGroup = heroInfo.skillId[i];
+
+                foreach (SkillConfig config in PlayerManager.Instance.groupSkillDIc[skillGroup])
+                {
+                    SkillInfo skillInfo = new SkillInfo();
+                    skillInfo.Init(this, config);
+                    allSkills.Add(skillInfo);
+
+                    if (skillInfo.isUnLock)
+                    {
+                        allUnLockSkill.Add(skillInfo);
+                    }
+
+                    if (mySkillDic.ContainsKey(skillGroup))
+                    { 
+                        mySkillDic[skillGroup].Add(skillInfo);
+                    }
+                    else
+                    {
+                        mySkillDic.Add(skillGroup, new List<SkillInfo> { skillInfo });
+                    }
+                }
+
+                UpdateSkill4Combat();
+            }
+        }
+
+
+        /// <summary>
+        /// 更新战斗中用得到的技能
+        /// </summary>
+        public void UpdateSkill4Combat()
+        {
+            int idx = 0;
+            foreach (KeyValuePair<int, List<SkillInfo>> keyValuePair in heroInfo.SkillData.mySkillDic)
+            {
+                SkillInfo combatSkill = GetHighestLevelOr1(keyValuePair.Key, true);
+                if (combatSkill != null)
+                {
+                    allSkill4Combat.Add(combatSkill);
+                }
+            }
+        }
+        
+        
+    }
+}

+ 0 - 0
Assets/Scripts/GameLogic/Hero/SkillComponent.cs.meta → Assets/Scripts/GameLogic/Hero/SkillData.cs.meta


+ 71 - 3
Assets/Scripts/GameLogic/Hero/SkillInfo.cs

@@ -1,4 +1,6 @@
+using Core.Utility;
 using Excel2Json;
+using Fort23.UTool;
 
 namespace GameLogic.Hero
 {
@@ -6,11 +8,77 @@ namespace GameLogic.Hero
     {
         public HeroInfo heroInfo;
         public SkillConfig skillConfig;
-        public bool isLock;
-        public void Init(HeroInfo heroInfo, SkillConfig skillConfig)
+        /// <summary>
+        /// 是否解锁
+        /// </summary>
+        public bool isUnLock;
+
+        public SkillUpConfig skillUpConfig;
+
+        private SkillData _skillData;
+        public void Init(SkillData skillData, SkillConfig skillConfig)
         {
-            this.heroInfo = heroInfo;
+            this._skillData = skillData;
             this.skillConfig = skillConfig;
+            heroInfo = skillData.heroInfo;
+
+            
+            isUnLock = false;
+            if (skillConfig.ID == GlobalParam.Normal_Attack_Skill_Group_ID)
+            {
+                isUnLock = true;
+            }
+            else
+            {
+                //整体可能有点绕,后面再看优化不
+                
+                //取技能ID的后两位,后两位是技能解锁表SkillUpConfig的ID, 取这个ID来判断,这个技能是否解锁,以及还差多少差解锁
+                int skillUpID = skillConfig.ID % 100;
+                skillUpConfig = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID);
+
+                //取个位
+                int gw = skillUpID % 10;
+                
+                int skillUpID1 = -1;
+                //当个位>1时,需要额外判断一下,技能的1级是否已经解锁(可能1级是星级解锁),比如 21,31,,41。
+                //避免出现,技能是5星解锁解锁1级,200级解锁2级,但玩家现在4星,201级,就不该解锁2级,因为星级不够
+                if (gw > 1)
+                {
+                    //技能1级的解锁ID,例如: 33 - 3 + 1 = 31, 31就是技能1级的解锁条件id
+                    skillUpID1 = skillUpID - gw + 1;
+                }
+                
+                //等级解锁
+                if (skillUpConfig.upType == 1)
+                {
+                    SkillUpConfig skillUpConfig1 = new SkillUpConfig();
+                    if (skillUpID1 > 0)
+                    {
+                        skillUpConfig1 = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID1);
+                    }
+
+                    //如果技能的第一级需要星级解锁,需额外判断一下星级是否达到
+                    bool isStarOk = skillUpConfig1.upType != 2 || heroInfo.star.Value > skillUpConfig1.upValue;
+                    
+
+                    if (heroInfo.level.Value >= skillUpConfig.upValue && isStarOk)
+                    {
+                        isUnLock = true;
+                    }
+      
+                }
+                //星级解锁
+                else if (skillUpConfig.upType == 2)
+                {
+                    if (heroInfo.star.Value >= skillUpConfig.upValue)
+                    {
+                        isUnLock = true;
+                    }
+                }
+                
+            }
         }
+        
+        
     }
 }

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

@@ -15,6 +15,10 @@ public class PlayerManager : Singleton<PlayerManager>
     public HeroController heroController = new HeroController();
 
     public GameConstantConfig gameConstantConfig;
+    public SkillUpConfig[] skillUpConfigs;
+    public SkillConfig[] SkillConfigs;
+    
+    public Dictionary<int, List<SkillConfig>> groupSkillDIc = new Dictionary<int, List<SkillConfig>>();
 
     public long coin;
     public long diamond;
@@ -27,11 +31,30 @@ public class PlayerManager : Singleton<PlayerManager>
 
     public void Init()
     {
-        gameConstantConfig = ConfigComponent.Instance.Get<GameConstantConfig>(1);
+        SetConfigs();
         AccountFileInfo.Instance.LoadPlayerData();
         InitGameData();
     }
 
+    private void SetConfigs()
+    {
+        gameConstantConfig = ConfigComponent.Instance.Get<GameConstantConfig>(1);
+        skillUpConfigs = ConfigComponent.Instance.GetAll<SkillUpConfig>();
+        SkillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>();
+
+        foreach (var skillConfig in SkillConfigs)
+        {
+            if (groupSkillDIc.ContainsKey(skillConfig.IDGroup))
+            {
+                groupSkillDIc[skillConfig.IDGroup].Add(skillConfig);
+            }
+            else
+            {
+                groupSkillDIc.Add(skillConfig.IDGroup, new List<SkillConfig> { skillConfig });
+            }
+        }
+    }
+
     private void InitGameData()
     {
         InitBags();

+ 7 - 0
Assets/Scripts/GameUI/UI/Hero/HeroDetailPanel.cs

@@ -36,6 +36,13 @@ namespace Fort23.Mono
             btnBack.onClick.AddListener(OnClickClose);
             btnUpgrade.onClick.AddListener(OnClickUpgrade);
             btnPromote.onClick.AddListener(OnClickPromote);
+            btnSkill.onClick.AddListener(OnClickSkill);
+        }
+
+        private async void OnClickSkill()
+        {
+            SkillUIComponent skillUIComponent = await UIManager.Instance.CreateGComponent<SkillUIComponent>(null);
+            skillUIComponent.InitUI(heroInfo);
         }
 
 

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

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

+ 156 - 0
Assets/Scripts/GameUI/UI/Hero/SkillUIComponent.cs

@@ -0,0 +1,156 @@
+using System.Collections.Generic;
+using Core.Language;
+using Core.Utility;
+using GameLogic.Hero;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "SkillUIComponent"  )]
+    public partial class SkillUIComponent : UIComponent
+    {
+        private void Init()
+        {
+        }
+        public override void AddEvent()
+        {
+        }
+        public override void DelEvent()
+        {
+        }
+        public override void AddButtonEvent()
+        {
+        }
+
+        private HeroInfo heroInfo;
+        
+        public List<WidgetIconSkill> allSkillIcon = new List<WidgetIconSkill>();
+
+        public async void InitUI(HeroInfo heroInfo)
+        {
+            this.heroInfo = heroInfo;
+            int idx = 0;
+            foreach (KeyValuePair<int,List<SkillInfo>> keyValuePair in heroInfo.SkillData.mySkillDic)
+            {
+                if (keyValuePair.Key == GlobalParam.Normal_Attack_Skill_Group_ID)
+                {
+                    //普攻不需要生成相应的技能ICON
+                    continue;
+                }
+
+
+                SkillInfo skillInfo = heroInfo.SkillData.GetHighestLevelOr1(keyValuePair.Key);
+                
+                WidgetIconSkill widgetIconSkill = await UIManager.Instance.CreateGComponent<WidgetIconSkill>(null,
+                    poolName: "WidgetIconSkill", root: skillRoot);
+                widgetIconSkill.InitWidget(skillInfo);
+                
+                allSkillIcon.Add(widgetIconSkill);
+                
+                //显示第一个技能的详情
+                if (idx == 0)
+                {
+                    ShowSkillDetail(keyValuePair.Key);
+                }
+                idx++;
+            }
+        }
+
+        public void SetOtherBorder(WidgetIconSkill iconSkill)
+        {
+            foreach (WidgetIconSkill widgetIconSkill in allSkillIcon)
+            {
+                if (widgetIconSkill != iconSkill)
+                {
+                    widgetIconSkill.imgBorder.color = Color.black;
+                }            
+            }
+        }
+
+
+        public void ShowSkillDetail(int groupID)
+        {
+            List<SkillInfo> skillInfos = heroInfo.SkillData.mySkillDic[groupID];
+            
+            // skillInfos.Sort((SkillInfo x, SkillInfo y) => x.skillConfig.level.CompareTo(y.skillConfig.level));
+            foreach (GameObject go in skillDesc)
+            {
+                go.SetActive(false);
+            }
+            // SkillInfo skillInfo = heroInfo.skillComponent.GetHighestLevel(groupID);
+
+            
+            //最高解锁的SkillInfo
+            SkillInfo maxSkillUnLock = skillInfos[0];
+            //第一个锁的SkillInfo
+            SkillInfo firstSkillLock = null;
+            bool once = true;
+            int tmpLv = 0;
+
+            for (int i = 0; i < skillInfos.Count; i++)
+            {
+                string unLockConditionStr = "";
+                Color color = Color.white;
+                if (skillInfos[i].isUnLock)
+                {
+                    if (skillInfos[i].skillConfig.level > tmpLv)
+                    {
+                        tmpLv = skillInfos[i].skillConfig.level;
+                        maxSkillUnLock = skillInfos[i];
+                    }
+                }
+                else
+                {
+                    if (skillInfos[i].skillUpConfig.upType == 1)
+                    {
+                        unLockConditionStr = skillInfos[i].skillUpConfig.upValue + "级解锁";
+                    }
+                    else
+                    {
+                        unLockConditionStr = "星级达到" + skillInfos[i].skillUpConfig.upValue + "星后解锁";
+                    }
+
+                    color = new Color(0.65f, 0.65f, 0.65f);
+
+                    if (once)
+                    {
+                        once = false;
+                        firstSkillLock = skillInfos[i];
+                    }
+                }
+                
+                GameObject go = skillDesc[i] as GameObject;
+                go.GetComponent<Text>().text = LanguageManager.Instance.Text(skillInfos[i].skillConfig.name, skillInfos[i].skillConfig.effectValue) + unLockConditionStr;
+                go.GetComponent<Text>().color = color;
+                go.SetActive(true);
+            }
+            
+            // SkillInfo skillInfo = heroInfo.skillComponent.GetHighestLevel(groupID);
+            
+            txtSkillName.text = LanguageManager.Instance.Text(maxSkillUnLock.skillConfig.name);
+            txtLv.text = maxSkillUnLock.skillConfig.level.ToString();
+            txtCD.text = "冷却" + maxSkillUnLock.skillConfig.cd + "秒";
+
+            if (firstSkillLock != null)
+            {
+                if (firstSkillLock.skillUpConfig.upType == 1)
+                {
+                    txtTips.text = "等级达到" + firstSkillLock.skillUpConfig.upValue + "级后解锁";
+                }
+                else
+                {
+                    txtTips.text = "星级达到" + firstSkillLock.skillUpConfig.upValue + "星后解锁";
+                }
+            }
+            else
+            {
+                txtTips.text = "技能已达最高等级";
+            }
+            
+            
+            layoutGroup.SetLayoutVertical();
+        }
+
+    }
+}

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

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

+ 139 - 0
Assets/Scripts/GameUI/UI/Hero/SkillUIComponentData.cs

@@ -0,0 +1,139 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class SkillUIComponent 
+	{
+	  #region 自定义数据 
+	  private Text _txtSkillName;
+	  public Text txtSkillName
+	   {
+	   get{
+	      if (_txtSkillName == null)
+	       {
+	         _txtSkillName  = GetUIUnit<Text>("txtSkillName"); 
+	       }
+	      return _txtSkillName;
+	     }
+	   }
+	  private Text _txtLv;
+	  public Text txtLv
+	   {
+	   get{
+	      if (_txtLv == null)
+	       {
+	         _txtLv  = GetUIUnit<Text>("txtLv"); 
+	       }
+	      return _txtLv;
+	     }
+	   }
+	  private Text _txtCD;
+	  public Text txtCD
+	   {
+	   get{
+	      if (_txtCD == null)
+	       {
+	         _txtCD  = GetUIUnit<Text>("txtCD"); 
+	       }
+	      return _txtCD;
+	     }
+	   }
+	  private Text _txSkillLv1Desc;
+	  public Text txSkillLv1Desc
+	   {
+	   get{
+	      if (_txSkillLv1Desc == null)
+	       {
+	         _txSkillLv1Desc  = GetUIUnit<Text>("txSkillLv1Desc"); 
+	       }
+	      return _txSkillLv1Desc;
+	     }
+	   }
+	  private Text _txSkillLv2Add;
+	  public Text txSkillLv2Add
+	   {
+	   get{
+	      if (_txSkillLv2Add == null)
+	       {
+	         _txSkillLv2Add  = GetUIUnit<Text>("txSkillLv2Add"); 
+	       }
+	      return _txSkillLv2Add;
+	     }
+	   }
+	  private Text _txSkillLv3Add;
+	  public Text txSkillLv3Add
+	   {
+	   get{
+	      if (_txSkillLv3Add == null)
+	       {
+	         _txSkillLv3Add  = GetUIUnit<Text>("txSkillLv3Add"); 
+	       }
+	      return _txSkillLv3Add;
+	     }
+	   }
+	  private Text _txSkillLv4Add;
+	  public Text txSkillLv4Add
+	   {
+	   get{
+	      if (_txSkillLv4Add == null)
+	       {
+	         _txSkillLv4Add  = GetUIUnit<Text>("txSkillLv4Add"); 
+	       }
+	      return _txSkillLv4Add;
+	     }
+	   }
+	  private RectTransform _skillRoot;
+	  public RectTransform skillRoot
+	   {
+	   get{
+	      if (_skillRoot == null)
+	       {
+	         _skillRoot  = GetUIUnit<RectTransform>("skillRoot"); 
+	       }
+	      return _skillRoot;
+	     }
+	   }
+	  private Text _txtTips;
+	  public Text txtTips
+	   {
+	   get{
+	      if (_txtTips == null)
+	       {
+	         _txtTips  = GetUIUnit<Text>("txtTips"); 
+	       }
+	      return _txtTips;
+	     }
+	   }
+	  private List<object> _skillDesc;
+	  public List<object> skillDesc
+	   {
+	   get{
+	      if (_skillDesc == null)
+	       {
+	         _skillDesc  = GetUIUnit<List<object>>("skillDesc"); 
+	       }
+	      return _skillDesc;
+	     }
+	   }
+	  private VerticalLayoutGroup _layoutGroup;
+	  public VerticalLayoutGroup layoutGroup
+	   {
+	   get{
+	      if (_layoutGroup == null)
+	       {
+	         _layoutGroup  = GetUIUnit<VerticalLayoutGroup>("layoutGroup"); 
+	       }
+	      return _layoutGroup;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

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

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

+ 71 - 0
Assets/Scripts/GameUI/UI/Hero/WidgetIconSkill.cs

@@ -0,0 +1,71 @@
+using Fort23.UTool;
+using GameLogic.Hero;
+using UnityEngine;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "WidgetIconSkill"  )]
+    public partial class WidgetIconSkill : UIComponent
+    {
+        private void Init()
+        {
+        }
+        public override void AddEvent()
+        {
+        }
+        public override void DelEvent()
+        {
+        }
+        public override void AddButtonEvent()
+        {
+            btnSkillDetail.onClick.AddListener(OnClickSkillBtn);
+        }
+
+        private int groupID;
+        private async void OnClickSkillBtn()
+        {
+            SkillUIComponent skillUIComponent = await UIManager.Instance.CreateGComponent<SkillUIComponent>(Callback);
+            skillUIComponent.SetOtherBorder(this);
+            imgBorder.color = new Color(0, 1, 0.65f);
+            skillUIComponent.ShowSkillDetail(skillInfo.skillConfig.IDGroup);
+        }
+        
+        private void Callback(SkillUIComponent obj)
+        {
+            LogTool.Log("SkillUIComponent 加载完成");
+        }
+
+        private SkillInfo skillInfo;
+        public void InitWidget(SkillInfo skillInfo)
+        {
+            this.skillInfo = skillInfo;
+            iconSkill.icon_name = skillInfo.skillConfig.icon;
+            if (skillInfo.isUnLock)
+            {
+                lockObj.SetActive(false);
+                unLockObj.SetActive(true);
+                txtLv.text = skillInfo.skillConfig.level.ToString();
+                lockImgObj.SetActive(false);
+            }
+            else
+            {
+                lockImgObj.SetActive(true);
+                unLockObj.SetActive(false);
+                //等级解锁: 只留锁,其他都隐藏
+                if (skillInfo.skillUpConfig.upType == 1)
+                {
+                    lockObj.SetActive(false);
+                }
+                //星级解锁:把几星解锁显示出来
+                else
+                {
+                    lockObj.SetActive(true);
+                    HeroUITools.SetStarShow(stars, skillInfo.skillUpConfig.upValue);
+                }
+                
+                
+            }
+        }
+
+    }
+}

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

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

+ 108 - 0
Assets/Scripts/GameUI/UI/Hero/WidgetIconSkillData.cs

@@ -0,0 +1,108 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+using TMPro;
+
+namespace Fort23.Mono
+{
+	public partial class WidgetIconSkill 
+	{
+	  #region 自定义数据 
+	  private MyImage _iconSkill;
+	  public MyImage iconSkill
+	   {
+	   get{
+	      if (_iconSkill == null)
+	       {
+	         _iconSkill  = GetUIUnit<MyImage>("iconSkill"); 
+	       }
+	      return _iconSkill;
+	     }
+	   }
+	  private TextMeshProUGUI _txtLv;
+	  public TextMeshProUGUI txtLv
+	   {
+	   get{
+	      if (_txtLv == null)
+	       {
+	         _txtLv  = GetUIUnit<TextMeshProUGUI>("txtLv"); 
+	       }
+	      return _txtLv;
+	     }
+	   }
+	  private GameObject _unLockObj;
+	  public GameObject unLockObj
+	   {
+	   get{
+	      if (_unLockObj == null)
+	       {
+	         _unLockObj  = GetUIUnit<GameObject>("unLockObj"); 
+	       }
+	      return _unLockObj;
+	     }
+	   }
+	  private GameObject _lockObj;
+	  public GameObject lockObj
+	   {
+	   get{
+	      if (_lockObj == null)
+	       {
+	         _lockObj  = GetUIUnit<GameObject>("lockObj"); 
+	       }
+	      return _lockObj;
+	     }
+	   }
+	  private List<object> _stars;
+	  public List<object> stars
+	   {
+	   get{
+	      if (_stars == null)
+	       {
+	         _stars  = GetUIUnit<List<object>>("stars"); 
+	       }
+	      return _stars;
+	     }
+	   }
+	  private GameObject _lockImgObj;
+	  public GameObject lockImgObj
+	   {
+	   get{
+	      if (_lockImgObj == null)
+	       {
+	         _lockImgObj  = GetUIUnit<GameObject>("lockImgObj"); 
+	       }
+	      return _lockImgObj;
+	     }
+	   }
+	  private Button _btnSkillDetail;
+	  public Button btnSkillDetail
+	   {
+	   get{
+	      if (_btnSkillDetail == null)
+	       {
+	         _btnSkillDetail  = GetUIUnit<Button>("btnSkillDetail"); 
+	       }
+	      return _btnSkillDetail;
+	     }
+	   }
+	  private MyImage _imgBorder;
+	  public MyImage imgBorder
+	   {
+	   get{
+	      if (_imgBorder == null)
+	       {
+	         _imgBorder  = GetUIUnit<MyImage>("imgBorder"); 
+	       }
+	      return _imgBorder;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

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

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

BIN
Excel2Json/Excel/skill.xlsx


+ 1 - 1
UGUIPack/uguiconfig.db

@@ -1 +1 @@
-{"allPackgInfos":[{"packName":"all","packgJsonPath":"/Art/UIAssets/TextrueJson/all.txt","packgSpritePath":"Assets/Res/UIAtlas/all.spriteatlasv2","lasetJsonGUID":"a5540eda41a829e4ec4886a9e3ec6874"},{"packName":"heroIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/heroIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/heroIcon.spriteatlasv2","lasetJsonGUID":"e21daa5d31e00b95876c58a9ce604a30"}],"isJiaoYan":true}
+{"allPackgInfos":[{"packName":"all","packgJsonPath":"/Art/UIAssets/TextrueJson/all.txt","packgSpritePath":"Assets/Res/UIAtlas/all.spriteatlasv2","lasetJsonGUID":"8fbc3902b8b4a448719eb520746784cf"},{"packName":"heroIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/heroIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/heroIcon.spriteatlasv2","lasetJsonGUID":"e21daa5d31e00b95876c58a9ce604a30"},{"packName":"skillIcon","packgJsonPath":"/Art/UIAssets/TextrueJson/skillIcon.txt","packgSpritePath":"Assets/Res/UIAtlas/skillIcon.spriteatlasv2","lasetJsonGUID":"94128d0dbe9cd8207418b750524ba469"}],"isJiaoYan":true}

Diferenças do arquivo suprimidas por serem muito extensas
+ 81 - 279
UserSettings/Layouts/CurrentMaximizeLayout.dwlt


BIN
美术/art_use_ui/all/dec_00_04_06_Bg.png


BIN
美术/art_use_ui/all/dec_00_04_06_Border.png


BIN
美术/art_use_ui/all/dec_s_Border.png


BIN
美术/art_use_ui/skillIcon/icon_skill_10001.png


BIN
美术/art_use_ui/skillIcon/icon_skill_20001.png


BIN
美术/art_use_ui/skillIcon/icon_skill_30001.png


BIN
美术/art_use_ui/skillIcon/icon_skill_40001.png


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
美术/unity_use_ui/TextrueJson/all.txt


+ 1 - 0
美术/unity_use_ui/TextrueJson/skillIcon.txt

@@ -0,0 +1 @@
+{"packName":"skillIcon","isTyPack":false,"newTextureJson":[{"textrueName":"icon_skill_10001","filePath":"/icon/icon_skill_10001.png"},{"textrueName":"icon_skill_30001","filePath":"/icon/icon_skill_30001.png"},{"textrueName":"icon_skill_20001","filePath":"/icon/icon_skill_20001.png"},{"textrueName":"icon_skill_40001","filePath":"/icon/icon_skill_40001.png"}],"keyToValue":{}}

BIN
美术/unity_use_ui/decorate/dec_00_04_06_Bg.png


BIN
美术/unity_use_ui/decorate/dec_00_04_06_Border.png


BIN
美术/unity_use_ui/decorate/dec_s_Border.png


BIN
美术/unity_use_ui/icon/icon_skill_10001.png


BIN
美术/unity_use_ui/icon/icon_skill_20001.png


BIN
美术/unity_use_ui/icon/icon_skill_30001.png


BIN
美术/unity_use_ui/icon/icon_skill_40001.png


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

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

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff