Quellcode durchsuchen

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

# Conflicts:
#	UserSettings/EditorUserSettings.asset   resolved by origin/master(远端) version
李桃 vor 13 Stunden
Ursprung
Commit
21c8c80a40
44 geänderte Dateien mit 1801 neuen und 191 gelöschten Zeilen
  1. 0 0
      Assets/Art/UIAssets/TextrueJson/battle.txt
  2. BIN
      Assets/Art/UIAssets/decorate/dec_zd_jixu.png
  3. 203 0
      Assets/Art/UIAssets/decorate/dec_zd_jixu.png.meta
  4. BIN
      Assets/Art/UIAssets/decorate/dec_zd_tuichu.png
  5. 203 0
      Assets/Art/UIAssets/decorate/dec_zd_tuichu.png.meta
  6. BIN
      Assets/Art/UIAssets/decorate/dec_zd_xiangqing.png
  7. 203 0
      Assets/Art/UIAssets/decorate/dec_zd_xiangqing.png.meta
  8. 1 1
      Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat
  9. 1 1
      Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_quan.mat
  10. 282 153
      Assets/Res/UI/CombatPuasePanel.prefab
  11. 3 0
      Assets/Res/UIAtlas/battle.spriteatlasv2
  12. 15 18
      Assets/Resources/MyShader.shadervariants
  13. 8 0
      Assets/Scripts/Core/BRG.meta
  14. 19 0
      Assets/Scripts/Core/BRG/BGRGameObjectInfo.cs
  15. 11 0
      Assets/Scripts/Core/BRG/BGRGameObjectInfo.cs.meta
  16. 9 0
      Assets/Scripts/Core/BRG/BRGManger.cs
  17. 3 0
      Assets/Scripts/Core/BRG/BRGManger.cs.meta
  18. 95 0
      Assets/Scripts/Core/BRG/BRGRender.cs
  19. 3 0
      Assets/Scripts/Core/BRG/BRGRender.cs.meta
  20. 453 0
      Assets/Scripts/Core/BRG/BRGRenderBasic.cs
  21. 11 0
      Assets/Scripts/Core/BRG/BRGRenderBasic.cs.meta
  22. 26 0
      Assets/Scripts/Core/BRG/BRGSamples.cs
  23. 3 0
      Assets/Scripts/Core/BRG/BRGSamples.cs.meta
  24. 27 0
      Assets/Scripts/Core/BRG/BRGShaderValue.cs
  25. 3 0
      Assets/Scripts/Core/BRG/BRGShaderValue.cs.meta
  26. 10 0
      Assets/Scripts/Core/BRG/BRGShaderValueType.cs
  27. 3 0
      Assets/Scripts/Core/BRG/BRGShaderValueType.cs.meta
  28. 76 0
      Assets/Scripts/Core/BRG/BRG_backgrond.cs
  29. 11 0
      Assets/Scripts/Core/BRG/BRG_backgrond.cs.meta
  30. 61 0
      Assets/Scripts/Core/BRG/BatchShaderBind.cs
  31. 3 0
      Assets/Scripts/Core/BRG/BatchShaderBind.cs.meta
  32. 6 1
      Assets/Scripts/GameLogic/Combat/Buff/b_1012.cs
  33. 2 1
      Assets/Scripts/GameLogic/Combat/CombatTool/CombatController.cs
  34. 6 0
      Assets/Scripts/GameLogic/Combat/CombatTool/CombatHeroController.cs
  35. 6 6
      Assets/Scripts/GameUI/UI/BattleSettlementPanel/BattleSettlementPanel.cs
  36. 10 0
      Assets/Scripts/GameUI/UI/CombatPanel/CombatPuasePanel.cs
  37. 11 0
      Assets/Scripts/GameUI/UI/CombatPanel/CombatPuasePanelData.cs
  38. 0 0
      UGUIPack/uguiconfig.db
  39. 10 10
      UserSettings/EditorUserSettings.asset
  40. 4 0
      XiuXianGame.sln.DotSettings.user
  41. 0 0
      美术/unity_use_ui/TextrueJson/battle.txt
  42. BIN
      美术/unity_use_ui/decorate/dec_zd_jixu.png
  43. BIN
      美术/unity_use_ui/decorate/dec_zd_tuichu.png
  44. BIN
      美术/unity_use_ui/decorate/dec_zd_xiangqing.png

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
Assets/Art/UIAssets/TextrueJson/battle.txt


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


+ 203 - 0
Assets/Art/UIAssets/decorate/dec_zd_jixu.png.meta

@@ -0,0 +1,203 @@
+fileFormatVersion: 2
+guid: DHlO4CqlVnjlWNmYxIdjzlp16DHKwmOwQRBNLXuX75jG3CAaIP2KHdrqwuvN
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    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: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    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: OpenHarmony
+    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/decorate/dec_zd_tuichu.png


+ 203 - 0
Assets/Art/UIAssets/decorate/dec_zd_tuichu.png.meta

@@ -0,0 +1,203 @@
+fileFormatVersion: 2
+guid: Wnodty6vAHlfLwt7oORhXuo5HgAswUboy/a8D+bUuCNgs4IhIgOQzRM8B61C
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    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: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    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: OpenHarmony
+    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/decorate/dec_zd_xiangqing.png


+ 203 - 0
Assets/Art/UIAssets/decorate/dec_zd_xiangqing.png.meta

@@ -0,0 +1,203 @@
+fileFormatVersion: 2
+guid: Xn4XsyKuBi+G4lXKmjmcqBOaTWZb4o21tjmWJfzqW1nkxVnAeVe9d6K0LSB7
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    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: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    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: OpenHarmony
+    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: 

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

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

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

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

+ 282 - 153
Assets/Res/UI/CombatPuasePanel.prefab

@@ -67,9 +67,9 @@ MonoBehaviour:
     m_PersistentCalls:
       m_Calls: []
   m_FontData:
-    m_Font: {fileID: 12800000, guid: bb5b55cc5861a4951990bcc1caccc50e, type: 3}
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
     m_FontSize: 24
-    m_FontStyle: 1
+    m_FontStyle: 0
     m_BestFit: 0
     m_MinSize: 2
     m_MaxSize: 40
@@ -147,9 +147,9 @@ MonoBehaviour:
     m_PersistentCalls:
       m_Calls: []
   m_FontData:
-    m_Font: {fileID: 12800000, guid: bb5b55cc5861a4951990bcc1caccc50e, type: 3}
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
     m_FontSize: 24
-    m_FontStyle: 1
+    m_FontStyle: 0
     m_BestFit: 0
     m_MinSize: 2
     m_MaxSize: 40
@@ -160,6 +160,176 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u9000\u51FA"
+--- !u!1 &1271543397610457751
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7747478148901690978}
+  - component: {fileID: 2311088094534811847}
+  - component: {fileID: 9023763523692682908}
+  - component: {fileID: 7917706226542420150}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7747478148901690978
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1271543397610457751}
+  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: 6670566960034558026}
+  - {fileID: 8164079773854711084}
+  - {fileID: 2128051441581476715}
+  m_Father: {fileID: 4202026612452094680}
+  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: 0, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2311088094534811847
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1271543397610457751}
+  m_CullTransparentMesh: 1
+--- !u!114 &9023763523692682908
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1271543397610457751}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 0
+--- !u!114 &7917706226542420150
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1271543397610457751}
+  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: 103.39
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
+--- !u!1 &1720926610136238688
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2370132233352439098}
+  - component: {fileID: 8644731539907323421}
+  - component: {fileID: 2709106212470069507}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text (Legacy) (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2370132233352439098
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1720926610136238688}
+  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: 8164079773854711084}
+  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: -62.2}
+  m_SizeDelta: {x: 160, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8644731539907323421
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1720926610136238688}
+  m_CullTransparentMesh: 1
+--- !u!114 &2709106212470069507
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1720926610136238688}
+  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: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 24
+    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: "\u8BE6\u60C5"
 --- !u!1 &2057452870888875413
 GameObject:
   m_ObjectHideFlags: 0
@@ -191,8 +361,7 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 3190497540882875350}
-  - {fileID: 2128051441581476715}
-  - {fileID: 6670566960034558026}
+  - {fileID: 7747478148901690978}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -223,6 +392,11 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: XiangQing
+    gameObject: {fileID: 2867919797063076564}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
 --- !u!1 &2998927439283164228
 GameObject:
@@ -313,7 +487,7 @@ MonoBehaviour:
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
---- !u!1 &3591535627247191034
+--- !u!1 &5734380188375769178
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -321,140 +495,97 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 8607046890090167354}
-  - component: {fileID: 7798961259810263775}
-  - component: {fileID: 1291835810789404280}
-  m_Layer: 0
+  - component: {fileID: 2128051441581476715}
+  - component: {fileID: 3757140388240556968}
+  - component: {fileID: 4274198529094444920}
+  - component: {fileID: 3945635134592693363}
+  m_Layer: 5
   m_HasEditorInfo: 1
-  m_Name: myImage
+  m_Name: JiXu
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!224 &8607046890090167354
+--- !u!224 &2128051441581476715
 RectTransform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 3591535627247191034}
+  m_GameObject: {fileID: 5734380188375769178}
   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: 2128051441581476715}
+  m_Children:
+  - {fileID: 8799930228682830085}
+  m_Father: {fileID: 7747478148901690978}
   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: 4.7, y: 0}
-  m_SizeDelta: {x: 59, y: 53}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 98}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &7798961259810263775
+--- !u!222 &3757140388240556968
 CanvasRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 3591535627247191034}
+  m_GameObject: {fileID: 5734380188375769178}
   m_CullTransparentMesh: 1
---- !u!114 &1291835810789404280
+--- !u!114 &4274198529094444920
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 3591535627247191034}
+  m_GameObject: {fileID: 5734380188375769178}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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_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: 3945635134592693363}
+  m_OnClick:
     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_fuhao_cz
-  isNotLoadDeftIcon: 0
-  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
-  packInfo:
-    packName: tongyong
-    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
-    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
-    lasetJsonGUID: d570df61e5e429dc2d9169bbaecec167
-  imageH: 100
-  useGradient: 0
-  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
-  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
-  direction: 0
---- !u!1 &4129549414827253199
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 7
-  m_Component:
-  - component: {fileID: 4860858023539524685}
-  - component: {fileID: 1547619875768023638}
-  - component: {fileID: 2596323858079111722}
-  m_Layer: 0
-  m_HasEditorInfo: 1
-  m_Name: myImage
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &4860858023539524685
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4129549414827253199}
-  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: 6670566960034558026}
-  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: 1, y: 4}
-  m_SizeDelta: {x: 59, y: 53}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &1547619875768023638
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4129549414827253199}
-  m_CullTransparentMesh: 1
---- !u!114 &2596323858079111722
+--- !u!114 &3945635134592693363
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4129549414827253199}
+  m_GameObject: {fileID: 5734380188375769178}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
@@ -478,20 +609,20 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
-  _icon_name: dec_ty_x
+  _icon_name: dec_zd_jixu
   isNotLoadDeftIcon: 0
-  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  CurrSpriteAtlas: {fileID: 100100200, guid: 08bcd577b76e3c94cacfc8e9783bd09a, type: 3}
   packInfo:
-    packName: tongyong
-    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
-    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
-    lasetJsonGUID: d570df61e5e429dc2d9169bbaecec167
-  imageH: 100
+    packName: battle
+    packgJsonPath: /Art/UIAssets/TextrueJson\battle.txt
+    packgSpritePath: Assets/Res/UIAtlas/battle.spriteatlasv2
+    lasetJsonGUID: d940ab3f69e3857bda918b013a75781f
+  imageH: 30
   useGradient: 0
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
---- !u!1 &5734380188375769178
+--- !u!1 &7237794840296053408
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -499,54 +630,53 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 2128051441581476715}
-  - component: {fileID: 3757140388240556968}
-  - component: {fileID: 4274198529094444920}
-  - component: {fileID: 3945635134592693363}
+  - component: {fileID: 8164079773854711084}
+  - component: {fileID: 8941042029657220642}
+  - component: {fileID: 2867919797063076564}
+  - component: {fileID: 1710456504320198787}
   m_Layer: 5
   m_HasEditorInfo: 1
-  m_Name: JiXu
+  m_Name: XiangQing
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!224 &2128051441581476715
+--- !u!224 &8164079773854711084
 RectTransform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5734380188375769178}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_GameObject: {fileID: 7237794840296053408}
+  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: 8607046890090167354}
-  - {fileID: 8799930228682830085}
-  m_Father: {fileID: 4202026612452094680}
+  - {fileID: 2370132233352439098}
+  m_Father: {fileID: 7747478148901690978}
   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: -65, y: 0}
-  m_SizeDelta: {x: 100, y: 100}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 99}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &3757140388240556968
+--- !u!222 &8941042029657220642
 CanvasRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5734380188375769178}
+  m_GameObject: {fileID: 7237794840296053408}
   m_CullTransparentMesh: 1
---- !u!114 &4274198529094444920
+--- !u!114 &2867919797063076564
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5734380188375769178}
+  m_GameObject: {fileID: 7237794840296053408}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
@@ -580,24 +710,24 @@ MonoBehaviour:
     m_SelectedTrigger: Selected
     m_DisabledTrigger: Disabled
   m_Interactable: 1
-  m_TargetGraphic: {fileID: 3945635134592693363}
+  m_TargetGraphic: {fileID: 1710456504320198787}
   m_OnClick:
     m_PersistentCalls:
       m_Calls: []
---- !u!114 &3945635134592693363
+--- !u!114 &1710456504320198787
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5734380188375769178}
+  m_GameObject: {fileID: 7237794840296053408}
   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.05660379, g: 0.05660379, b: 0.05660379, a: 1}
+  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
@@ -614,14 +744,14 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
-  _icon_name: btn_24
+  _icon_name: dec_zd_xiangqing
   isNotLoadDeftIcon: 0
-  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  CurrSpriteAtlas: {fileID: 100100200, guid: 08bcd577b76e3c94cacfc8e9783bd09a, type: 3}
   packInfo:
-    packName: tongyong
-    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
-    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
-    lasetJsonGUID: d570df61e5e429dc2d9169bbaecec167
+    packName: battle
+    packgJsonPath: /Art/UIAssets/TextrueJson\battle.txt
+    packgSpritePath: Assets/Res/UIAtlas/battle.spriteatlasv2
+    lasetJsonGUID: d940ab3f69e3857bda918b013a75781f
   imageH: 30
   useGradient: 0
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
@@ -654,19 +784,18 @@ RectTransform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 7347659349234046901}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 3648111293099433639}
-  - {fileID: 4860858023539524685}
-  m_Father: {fileID: 4202026612452094680}
+  m_Father: {fileID: 7747478148901690978}
   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: 98, y: 0}
-  m_SizeDelta: {x: 100, y: 100}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 99}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &8287751716906394220
 CanvasRenderer:
@@ -733,7 +862,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 0.05660379, g: 0.05660379, b: 0.05660379, a: 1}
+  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
@@ -750,14 +879,14 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
-  _icon_name: btn_24
+  _icon_name: dec_zd_tuichu
   isNotLoadDeftIcon: 0
-  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  CurrSpriteAtlas: {fileID: 100100200, guid: 08bcd577b76e3c94cacfc8e9783bd09a, type: 3}
   packInfo:
-    packName: tongyong
-    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
-    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
-    lasetJsonGUID: d570df61e5e429dc2d9169bbaecec167
+    packName: battle
+    packgJsonPath: /Art/UIAssets/TextrueJson\battle.txt
+    packgSpritePath: Assets/Res/UIAtlas/battle.spriteatlasv2
+    lasetJsonGUID: d940ab3f69e3857bda918b013a75781f
   imageH: 30
   useGradient: 0
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}

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

@@ -45,5 +45,8 @@ SpriteAtlasAsset:
     - {fileID: 2800000, guid: 5b6fda27d9bfe18458d0b85669ae6b78, type: 3}
     - {fileID: 2800000, guid: ffac0fa4b1177d246955929412713166, type: 3}
     - {fileID: 2800000, guid: 2d0b3427962df984886d854afe24ce78, type: 3}
+    - {fileID: 2800000, guid: 33ae08533c78efc468051b4f826f849e, type: 3}
+    - {fileID: 2800000, guid: e02242c2f9fb36d45ba04f0a769a72c8, type: 3}
+    - {fileID: 2800000, guid: a48683ed18d03984194d7f9406824532, type: 3}
   m_IsVariant: 0
   m_IsPlaceholder: 0

+ 15 - 18
Assets/Resources/MyShader.shadervariants

@@ -8,52 +8,49 @@ ShaderVariantCollection:
   m_PrefabAsset: {fileID: 0}
   m_Name: MyShader
   m_Shaders:
-  - first: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+  - first: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0}
     second:
       variants: []
-  - first: {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
+  - first: {fileID: 10721, guid: 0000000000000000f000000000000000, type: 0}
     second:
       variants: []
-  - first: {fileID: -6465566751694194690, guid: dfab9f92705bc3448be937135a3cb41d, type: 3}
+  - first: {fileID: 10723, guid: 0000000000000000f000000000000000, type: 0}
     second:
       variants: []
-  - first: {fileID: -6465566751694194690, guid: de8b10515e8c7b6419b7a2e25ccbf055, type: 3}
+  - first: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
     second:
       variants: []
-  - first: {fileID: -6465566751694194690, guid: f7c09a0ce9e591942bd0e4e102bbc409, type: 3}
+  - first: {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
     second:
       variants: []
-  - first: {fileID: -6465566751694194690, guid: 24ce5c251bc875b4ba39dde2e7209665, type: 3}
+  - first: {fileID: 4800000, guid: c6a0e78efe21c54448ab2869b09e8a2d, type: 3}
     second:
       variants: []
-  - first: {fileID: 10720, guid: 0000000000000000f000000000000000, type: 0}
+  - first: {fileID: -6465566751694194690, guid: de8b10515e8c7b6419b7a2e25ccbf055, type: 3}
     second:
       variants: []
-  - first: {fileID: 10721, guid: 0000000000000000f000000000000000, type: 0}
+  - first: {fileID: -6465566751694194690, guid: f7c09a0ce9e591942bd0e4e102bbc409, type: 3}
     second:
       variants: []
-  - first: {fileID: 10723, guid: 0000000000000000f000000000000000, type: 0}
+  - first: {fileID: -6465566751694194690, guid: dfab9f92705bc3448be937135a3cb41d, type: 3}
     second:
       variants: []
-  - first: {fileID: 4800000, guid: 200ef425a7d005549abec1d23f7393d2, type: 3}
+  - first: {fileID: -6465566751694194690, guid: 24ce5c251bc875b4ba39dde2e7209665, type: 3}
     second:
       variants: []
-  - first: {fileID: 4800000, guid: c6a0e78efe21c54448ab2869b09e8a2d, type: 3}
+  - first: {fileID: 4800000, guid: 2933b413a51fc4ff3a83c7ef4177ae84, type: 3}
     second:
       variants: []
-  - first: {fileID: 4800000, guid: caadcbe202b44584cb8021b3e5e89999, type: 3}
+  - first: {fileID: 4800000, guid: cf7f4515d1ea2404b9cbfeb53870eb8e, type: 3}
     second:
       variants: []
   - first: {fileID: 4800000, guid: 54e59f65585b87c479bfb75710b91a47, type: 3}
     second:
       variants: []
-  - first: {fileID: 4800000, guid: 276e77afd9b929d498b6fbdcdce398d0, type: 3}
-    second:
-      variants: []
-  - first: {fileID: 4800000, guid: 91bd8b6735bb531488bbcaaf06ea18ba, type: 3}
+  - first: {fileID: 4800000, guid: 200ef425a7d005549abec1d23f7393d2, type: 3}
     second:
       variants: []
-  - first: {fileID: 4800000, guid: 2933b413a51fc4ff3a83c7ef4177ae84, type: 3}
+  - first: {fileID: 4800000, guid: caadcbe202b44584cb8021b3e5e89999, type: 3}
     second:
       variants: []
   - first: {fileID: 4800000, guid: 8bee0edf03bdded419ae76dcde0de9a8, type: 3}
@@ -62,6 +59,6 @@ ShaderVariantCollection:
   - first: {fileID: 4800000, guid: ca5272cc9dc342a4eb82e46facb52483, type: 3}
     second:
       variants: []
-  - first: {fileID: 4800000, guid: cf7f4515d1ea2404b9cbfeb53870eb8e, type: 3}
+  - first: {fileID: -6465566751694194690, guid: 8c58ccb11e2c88c4f954744564e8dbbe, type: 3}
     second:
       variants: []

+ 8 - 0
Assets/Scripts/Core/BRG.meta

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

+ 19 - 0
Assets/Scripts/Core/BRG/BGRGameObjectInfo.cs

@@ -0,0 +1,19 @@
+using Unity.Mathematics;
+using UnityEngine;
+
+namespace Core.BRG
+{
+    [System.Serializable]
+    public class BGRGameObjectInfo
+    {
+        public int initIndex;
+        public Vector3 pos;
+        public Vector3 rot;
+        public Vector3 scale;
+        public float4 color=1;
+        public Matrix4x4 objectToWorld
+        {
+            get { return Matrix4x4.TRS(pos, Quaternion.Euler(rot), scale); }
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Core/BRG/BGRGameObjectInfo.cs.meta

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

+ 9 - 0
Assets/Scripts/Core/BRG/BRGManger.cs

@@ -0,0 +1,9 @@
+using Utility;
+
+namespace Core.BRG
+{
+    public class BRGManger : Singleton<BRGManger>
+    {
+        
+    }
+}

+ 3 - 0
Assets/Scripts/Core/BRG/BRGManger.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: a94755ef12524aaab2e67306cca89734
+timeCreated: 1760930317

+ 95 - 0
Assets/Scripts/Core/BRG/BRGRender.cs

@@ -0,0 +1,95 @@
+using System.Collections.Generic;
+using Unity.Collections;
+using Unity.Mathematics;
+using UnityEngine;
+using UnityEngine.Rendering;
+
+namespace Core.BRG
+{
+    public class BRGRender<T> : BRGRenderBasic where T : BGRGameObjectInfo
+    {
+        /// <summary>
+        /// BRG容器对象
+        /// </summary>
+        // private BRGRenderBasic _mBrgRenderBasic;
+
+        // private int m_itemCount;
+        public bool isUpdate = true;
+
+        public List<T> m_gameObjectInfos = new List<T>();
+
+        private List<BatchShaderBind> m_batchShaderBinds = new List<BatchShaderBind>();
+
+        public void InitRender(BRGSamples samples, List<T> gameObjectInfos)
+        {
+            this.m_gameObjectInfos = gameObjectInfos;
+
+            int maxItemSize = samples.GetAllShaderValueSize();
+            Init(samples, gameObjectInfos.Count, maxItemSize);
+            UploadGpuData(gameObjectInfos.Count);
+        }
+
+        protected override NativeArray<MetadataValue> ProInitBatchMetadata(int startOffset,int m_maxInstancePerWindow)
+        {
+            NativeArray<MetadataValue> metadataValues =
+                new NativeArray<MetadataValue>(m_samples.AllShaderValues.Count,Allocator.Temp, NativeArrayOptions.UninitializedMemory);
+            m_batchShaderBinds.Clear();
+            int count= m_gameObjectInfos.Count;
+            for (int i = 0; i < m_samples.AllShaderValues.Count; i++)
+            {
+                // BRGShaderValue shaderValue = m_samples.AllShaderValues[i];
+                // int shaderId = Shader.PropertyToID(shaderValue.);
+                // BatchShaderBind batchShaderBind = new BatchShaderBind();
+                // batchMetadata[0] = CreateMetadataValue(objectToWorldID, 0, true);
+            }
+            return base.ProInitBatchMetadata(startOffset,m_maxInstancePerWindow);
+        }
+
+      
+
+
+        public void UpdatePos()
+        {
+            if (!isUpdate)
+            {
+                return;
+            }
+
+            int totalGpuBufferSize;
+            int alignedWindowSize;
+            NativeArray<float3x4> sysmemBuffer =
+                GetSysmemBuffer(out totalGpuBufferSize, out alignedWindowSize);
+
+            // 检查NativeArray是否有效
+            if (!sysmemBuffer.IsCreated)
+            {
+                Debug.LogError("NativeArray has been deallocated or not created properly");
+                return;
+            }
+
+            int m_itemCount = m_gameObjectInfos.Count;
+            for (int i = 0; i < m_gameObjectInfos.Count; i++)
+            {
+                BGRGameObjectInfo info = m_gameObjectInfos[i];
+
+
+                Matrix4x4 matrix4X4 = info.objectToWorld;
+                float4x4 float3X4 = matrix4X4;
+
+                sysmemBuffer[i] = new float3x4(
+                    float3X4.c0.xyz, float3X4.c1.xyz,
+                    float3X4.c2.xyz, float3X4.c3.xyz
+                );
+                float4x4 inverse = matrix4X4.inverse;
+
+                sysmemBuffer[i + m_itemCount] = new float3x4(
+                    inverse.c0.xyz, inverse.c1.xyz,
+                    inverse.c2.xyz, inverse.c3.xyz
+                );
+            }
+
+            // 每帧更新后重新上传数据到GPU
+            UploadTransformData(m_itemCount);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Core/BRG/BRGRender.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: e1d9ffa86bde4ff78dc870c4f7bc88d6
+timeCreated: 1760930374

+ 453 - 0
Assets/Scripts/Core/BRG/BRGRenderBasic.cs

@@ -0,0 +1,453 @@
+using System;
+using System.Collections.Generic;
+using Core.BRG;
+using Unity.Collections;
+using Unity.Collections.LowLevel.Unsafe;
+using Unity.Burst;
+using Unity.Mathematics;
+using Unity.Jobs;
+using UnityEngine;
+using UnityEngine.Rendering;
+
+/*
+    这个类使用BRG(Batch Renderer Group)处理地面格子和碎片的渲染。
+    地面格子和碎片可以使用相同的GPU数据布局:
+        - obj2world 矩阵 (3 * float4)
+        - world2obj 矩阵 (3 * float4)
+        - 颜色 (1 * float4)
+
+    所以每个网格需要7个float4。
+
+    不要忘记数据是以SoA(Structure of Arrays)方式存储的
+*/
+
+/// <summary>
+/// BRG容器类,用于管理使用BatchRendererGroup的实例化渲染
+/// </summary>
+public unsafe class BRGRenderBasic
+{
+    // 在GLES模式下,BRG原始缓冲区是一个常量缓冲区(UBO)
+    private bool UseConstantBuffer => BatchRendererGroup.BufferTarget == BatchBufferTarget.ConstantBuffer;
+ 
+
+
+    private int m_maxInstances; // 此容器中的最大项目数
+    private int m_instanceCount; // 当前项目数量
+    private int m_alignedGPUWindowSize; // BRG原始窗口大小
+    private int m_maxInstancePerWindow; // 每个窗口的最大实例数
+    private int m_windowCount; // 窗口数量(在SSBO模式下为1,在UBO模式下为n)
+    private int m_totalGpuBufferSize; // 原始缓冲区的总大小
+    private NativeArray<float3x4> m_transfromBuffer; // 原始缓冲区的系统内存副本
+    public NativeArray<float4> m_sysmemColorBuffer;
+    private bool m_initialized; // 是否已初始化
+    private int m_instanceSize; // 项目大小(以字节为单位)
+    private BatchID[] m_batchIDs; // 每个窗口对应一个batchID
+    private BatchMaterialID m_materialID; // 材质ID
+    private BatchMeshID m_meshID; // 网格ID
+    private BatchRendererGroup m_BatchRendererGroup; // BRG对象
+    private GraphicsBuffer m_GPUPersistentInstanceData; // GPU原始缓冲区(可能是SSBO或UBO)
+
+    protected BRGSamples m_samples;
+    /// <summary>
+    /// 创建BRG对象并分配缓冲区
+    /// </summary>
+    /// <param name="mesh">要渲染的网格</param>
+    /// <param name="mat">要使用的材质</param>
+    /// <param name="maxInstances">最大实例数</param>
+    /// <param name="instanceSize">每个实例的大小(以字节为单位)</param>
+    /// <param name="castShadows">是否投射阴影</param>
+    /// <returns>初始化是否成功</returns>
+    protected bool Init(BRGSamples samples, int maxInstances, int instanceSize)
+    {
+        // 创建BRG对象,指定我们的BRG回调函数
+        m_BatchRendererGroup = new BatchRendererGroup(this.OnPerformCulling, IntPtr.Zero);
+        instanceSize+=(3*2*16); // 额外添加obj2world和world2obj矩阵的大小
+        m_instanceSize = instanceSize;
+        m_instanceCount = 0;
+        m_maxInstances = maxInstances;
+        m_samples = samples;
+
+        // BRG使用一个大的GPU缓冲区。这在几乎所有平台上都是一个原始缓冲区,在GLES上是一个常量缓冲区
+        // 在常量缓冲区的情况下,我们将其分割成几个大小为BatchRendererGroup.GetConstantBufferMaxWindowSize()字节的"窗口"
+        if (UseConstantBuffer)
+        {
+            // 获取常量缓冲区的最大窗口大小
+            m_alignedGPUWindowSize = BatchRendererGroup.GetConstantBufferMaxWindowSize();
+            // 计算每个窗口可以容纳的最大实例数
+            m_maxInstancePerWindow = m_alignedGPUWindowSize / instanceSize;
+            // 计算需要的窗口数量(向上取整)
+            m_windowCount = (m_maxInstances + m_maxInstancePerWindow - 1) / m_maxInstancePerWindow;
+            // 计算总的GPU缓冲区大小
+            m_totalGpuBufferSize = m_windowCount * m_alignedGPUWindowSize;
+            // 创建常量缓冲区(目标类型为Constant,大小为总字节数/16,每个元素16字节)
+            m_GPUPersistentInstanceData =
+                new GraphicsBuffer(GraphicsBuffer.Target.Constant, m_totalGpuBufferSize / 16, 16);
+        }
+        else
+        {
+            // 计算对齐后的GPU窗口大小,确保是16字节对齐 ((size + 15) & (-16) 是向上取整到16的倍数的位运算技巧)
+            m_alignedGPUWindowSize = (m_maxInstances * instanceSize + 15) & (-16);
+            // 在SSBO模式下,每个窗口可以容纳所有实例
+            m_maxInstancePerWindow = maxInstances;
+            // SSBO模式只需要一个窗口
+            m_windowCount = 1;
+            // 总的GPU缓冲区大小等于单个窗口大小
+            m_totalGpuBufferSize = m_windowCount * m_alignedGPUWindowSize;
+            // 创建原始缓冲区(目标类型为Raw,大小为总字节数/4,每个元素4字节)
+            m_GPUPersistentInstanceData = new GraphicsBuffer(GraphicsBuffer.Target.Raw, m_totalGpuBufferSize / 4, 4);
+        }
+
+        // 在我们的示例游戏中,我们处理3个实例化属性:obj2world、world2obj和baseColor
+        var batchMetadata = new NativeArray<MetadataValue>(2, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
+
+        // 批处理元数据缓冲区
+        int objectToWorldID = Shader.PropertyToID("unity_ObjectToWorld");
+        int worldToObjectID = Shader.PropertyToID("unity_WorldToObject");
+        // int colorID = Shader.PropertyToID("_BaseColor");
+
+        // 创建大GPU原始缓冲区的系统内存副本
+        m_transfromBuffer =
+            new NativeArray<float3x4>(maxInstances * 2, Allocator.Persistent, NativeArrayOptions.ClearMemory);
+        m_sysmemColorBuffer =
+            new NativeArray<float4>(maxInstances, Allocator.Persistent, NativeArrayOptions.ClearMemory);
+        // register one kind of batch per "window" in the large BRG raw buffer
+        m_batchIDs = new BatchID[m_windowCount];
+        for (int b = 0; b < m_windowCount; b++)
+        {
+            // 设置obj2world矩阵属性元数据,偏移量为0
+            batchMetadata[0] = CreateMetadataValue(objectToWorldID, 0, true);
+            // 设置world2obj矩阵属性元数据,偏移量为窗口内矩阵数据之后
+            batchMetadata[1] = CreateMetadataValue(worldToObjectID, m_maxInstancePerWindow * 3 * 16, true);
+            int startOffset = m_maxInstancePerWindow * 3 * 2 * 16;
+            NativeArray<MetadataValue> metadata = ProInitBatchMetadata(startOffset,m_maxInstancePerWindow);
+            NativeArray<MetadataValue> newBatchMetadata = new NativeArray<MetadataValue>(
+                batchMetadata.Length + metadata.Length, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
+            for (int i = 0; i < batchMetadata.Length; i++)
+            {
+                newBatchMetadata[i] = batchMetadata[i];
+            }
+
+            for (int i = 0; i < metadata.Length; i++)
+            {
+                newBatchMetadata[batchMetadata.Length + i] = metadata[i];
+            }
+
+            // // 设置颜色属性元数据,偏移量为窗口内所有矩阵数据之后
+            // batchMetadata[2] = CreateMetadataValue(colorID, m_maxInstancePerWindow * 3 * 2 * 16, true);
+            // 计算当前批次在GPU缓冲区中的偏移量
+            int offset = b * m_alignedGPUWindowSize;
+            // 添加批次到BatchRendererGroup,指定元数据、缓冲区句柄和偏移量
+            m_batchIDs[b] = m_BatchRendererGroup.AddBatch(newBatchMetadata, m_GPUPersistentInstanceData.bufferHandle,
+                (uint)offset, UseConstantBuffer ? (uint)m_alignedGPUWindowSize : 0);
+            newBatchMetadata.Dispose();
+            metadata.Dispose();
+        }
+
+        // 我们不再需要这个元数据描述数组
+        batchMetadata.Dispose();
+
+        // 设置非常大的边界以确保BRG永远不会被剔除
+        UnityEngine.Bounds bounds = ProGetBounds();
+        m_BatchRendererGroup.SetGlobalBounds(bounds);
+
+        // 注册网格和材质
+        if (m_samples.Mesh) m_meshID = m_BatchRendererGroup.RegisterMesh(m_samples.Mesh);
+        if (m_samples.Material) m_materialID = m_BatchRendererGroup.RegisterMaterial(m_samples.Material);
+
+        m_initialized = true;
+        return true;
+    }
+    protected virtual Bounds ProGetBounds()
+    {
+       return new Bounds(new Vector3(0, 0, 0), new Vector3(1048576.0f, 1048576.0f, 1048576.0f));
+    }
+
+    protected virtual NativeArray<MetadataValue> ProInitBatchMetadata(int startOffset,int count)
+    {
+        return new NativeArray<MetadataValue>(0, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
+    }
+
+    /// <summary>
+    /// 更新位置信息
+    /// </summary>
+    /// <param name="instanceCount"></param>
+    /// <returns></returns>
+    protected bool UploadTransformData(int instanceCount)
+    {
+        if ((uint)instanceCount > (uint)m_maxInstances)
+            return false;
+
+        // 更新当前实例数量
+        m_instanceCount = instanceCount;
+        // 计算完整窗口的数量
+        int completeWindows = m_instanceCount / m_maxInstancePerWindow;
+
+        // 一次性更新所有完整的窗口
+        if (completeWindows >= 0)
+        {
+            // 计算需要更新的数据大小(以float4为单位)
+            // int sizeInFloat4 = (completeWindows * m_alignedGPUWindowSize) / (16 * 4);
+       
+            // 将系统内存缓冲区的数据上传到GPU缓冲区
+            m_GPUPersistentInstanceData.SetData(m_transfromBuffer, 0, 0, m_maxInstancePerWindow * 2);
+         
+            // int off = m_maxInstancePerWindow * 2 * 3 * 16;
+            // m_GPUPersistentInstanceData.SetData(m_sysmemColorBuffer, 0, off / 16, m_maxInstancePerWindow);
+        }
+
+        return true;
+    }
+    /// <summary>
+    /// 根据"instanceCount"上传最小的GPU数据
+    /// 由于使用了SoA且此类管理3个BRG属性(2个矩阵和1个颜色),最后一个窗口可能需要多达3次SetData调用
+    /// </summary>
+    /// <param name="instanceCount">实例数量</param>
+    /// <returns>上传是否成功</returns>
+    public bool UploadGpuData(int instanceCount,List<BatchShaderBind> shaderBinds=null)
+    {
+        // 检查实例数量是否超过最大限制
+        if ((uint)instanceCount > (uint)m_maxInstances)
+            return false;
+
+        // 更新当前实例数量
+        m_instanceCount = instanceCount;
+        // 计算完整窗口的数量
+        int completeWindows = m_instanceCount / m_maxInstancePerWindow;
+
+        // 一次性更新所有完整的窗口
+        if (completeWindows >= 0)
+        {
+            // 计算需要更新的数据大小(以float4为单位)
+            // int sizeInFloat4 = (completeWindows * m_alignedGPUWindowSize) / (16 * 4);
+       
+            // 将系统内存缓冲区的数据上传到GPU缓冲区
+            m_GPUPersistentInstanceData.SetData(m_transfromBuffer, 0, 0, m_maxInstancePerWindow * 2);
+            if (shaderBinds != null)
+            {
+                for (int i = 0; i < shaderBinds.Count; i++)
+                {
+                    shaderBinds[i].SetData(m_GPUPersistentInstanceData);
+                }
+            }
+            // int off = m_maxInstancePerWindow * 2 * 3 * 16;
+            // m_GPUPersistentInstanceData.SetData(m_sysmemColorBuffer, 0, off / 16, m_maxInstancePerWindow);
+        }
+
+        // 然后上传最后一个(不完整)窗口的数据
+        int lastBatchId = completeWindows;
+        // 计算最后一个窗口中的实例数量
+        int itemInLastBatch = m_instanceCount - m_maxInstancePerWindow * completeWindows;
+
+        // 如果最后一个窗口中有数据需要上传
+        // if (itemInLastBatch > 0)
+        // {
+        //     // 计算窗口在float4单位中的偏移量
+        //     int windowOffsetInFloat4 = (lastBatchId * m_alignedGPUWindowSize) / 16 * 3;
+        //     // 计算obj2world矩阵在缓冲区中的偏移量
+        //     int offsetMat1 = windowOffsetInFloat4 + m_maxInstancePerWindow * 0;
+        //     // 计算world2obj矩阵在缓冲区中的偏移量
+        //     int offsetMat2 = windowOffsetInFloat4 + m_maxInstancePerWindow * 3;
+        //     // 计算颜色数据在缓冲区中的偏移量
+        //     int offsetColor = windowOffsetInFloat4 + m_maxInstancePerWindow * 3 * 2;
+        //     // 上传obj2world矩阵数据(每个实例3个float4)
+        //
+        //     m_GPUPersistentInstanceData.SetData(m_sysmemBuffer, offsetMat1, offsetMat1, itemInLastBatch * 3);
+        //     // 上传world2obj矩阵数据(每个实例3个float4)
+        //     m_GPUPersistentInstanceData.SetData(m_sysmemBuffer, offsetMat2, offsetMat2, itemInLastBatch * 3);
+        //     // // 上传颜色数据(每个实例1个float4)
+        //     // m_GPUPersistentInstanceData.SetData(m_sysmemBuffer, offsetColor, offsetColor, itemInLastBatch * 1);  
+        // }
+
+        return true;
+    }
+
+    /// <summary>
+    /// 释放所有已分配的缓冲区
+    /// </summary>
+    public void Shutdown()
+    {
+        if (m_initialized)
+        {
+            for (uint b = 0; b < m_windowCount; b++)
+                m_BatchRendererGroup.RemoveBatch(m_batchIDs[b]);
+
+            m_BatchRendererGroup.UnregisterMaterial(m_materialID);
+            m_BatchRendererGroup.UnregisterMesh(m_meshID);
+            m_BatchRendererGroup.Dispose();
+            m_GPUPersistentInstanceData.Dispose();
+            m_transfromBuffer.Dispose();
+        }
+    }
+
+    /// <summary>
+    /// 返回系统内存缓冲区和窗口大小,以便BRG_Background和BRG_Debris可以用新内容填充缓冲区
+    /// </summary>
+    /// <param name="totalSize">总大小</param>
+    /// <param name="alignedWindowSize">对齐的窗口大小</param>
+    /// <returns>系统内存缓冲区</returns>
+    public NativeArray<float3x4> GetSysmemBuffer(out int totalSize, out int alignedWindowSize)
+    {
+        totalSize = m_totalGpuBufferSize;
+        alignedWindowSize = m_alignedGPUWindowSize;
+        return m_transfromBuffer;
+    }
+
+    /// <summary>
+    /// 创建32位元数据值的辅助函数。Bit 31表示属性是否每个实例都有不同的值
+    /// </summary>
+    /// <param name="nameID">属性名称ID</param>
+    /// <param name="gpuOffset">GPU偏移量</param>
+    /// <param name="isPerInstance">是否每个实例都不同</param>
+    /// <returns>元数据值</returns>
+    protected MetadataValue CreateMetadataValue(int nameID, int gpuOffset, bool isPerInstance)
+    {
+        // 定义实例化标志位(最高位,即第31位)
+        const uint kIsPerInstanceBit = 0x80000000;
+        return new MetadataValue
+        {
+            NameID = nameID, // Shader属性名称ID
+            // 将GPU偏移量与实例化标志位进行按位或运算
+            // 如果是实例化属性,则设置最高位为1,否则保持原偏移量
+            Value = (uint)gpuOffset | (isPerInstance ? (kIsPerInstanceBit) : 0),
+        };
+    }
+
+    /// <summary>
+    /// 在BRG回调函数期间分配BRG缓冲区的辅助函数
+    /// </summary>
+    /// <typeparam name="T">元素类型</typeparam>
+    /// <param name="count">元素数量</param>
+    /// <returns>分配的内存指针</returns>
+    private static T* Malloc<T>(uint count) where T : unmanaged
+    {
+        return (T*)UnsafeUtility.Malloc(
+            UnsafeUtility.SizeOf<T>() * count,
+            UnsafeUtility.AlignOf<T>(),
+            Allocator.TempJob);
+    }
+
+    /// <summary>
+    /// 每帧的主BRG入口点。在此示例中我们使用BatchCullingContext进行视锥剔除
+    /// 此回调负责用所有需要渲染的项目填充cullingOutput
+    /// </summary>
+    /// <param name="rendererGroup">渲染组</param>
+    /// <param name="cullingContext">剔除上下文</param>
+    /// <param name="cullingOutput">剔除输出</param>
+    /// <param name="userContext">用户上下文</param>
+    /// <returns>作业句柄</returns>
+    public virtual JobHandle OnPerformCulling(BatchRendererGroup rendererGroup, BatchCullingContext cullingContext,
+        BatchCullingOutput cullingOutput, IntPtr userContext)
+    {
+        if (m_initialized)
+        {
+            // 创建绘制命令结构体,用于存储渲染命令信息
+            BatchCullingOutputDrawCommands drawCommands = new BatchCullingOutputDrawCommands();
+
+            // 计算UBO模式下我们需要的绘制命令数量(每个窗口一个绘制命令)
+            int drawCommandCount = (m_instanceCount + m_maxInstancePerWindow - 1) / m_maxInstancePerWindow;
+            int maxInstancePerDrawCommand = m_maxInstancePerWindow;
+            drawCommands.drawCommandCount = drawCommandCount;
+
+            // 分配单个BatchDrawRange。(所有绘制命令都将引用此BatchDrawRange)
+            drawCommands.drawRangeCount = 1;
+            drawCommands.drawRanges = Malloc<BatchDrawRange>(1);
+            drawCommands.drawRanges[0] = new BatchDrawRange
+            {
+                // 绘制命令开始索引
+                drawCommandsBegin = 0,
+                // 绘制命令数量
+                drawCommandsCount = (uint)drawCommandCount,
+                // 过滤设置
+                filterSettings = new BatchFilterSettings
+                {
+                    // 渲染层掩码
+                    renderingLayerMask = 1,
+                    // 层级
+                    layer = 0,
+                    // 运动向量生成模式
+                    motionMode = MotionVectorGenerationMode.Camera,
+                    // 阴影投射模式,根据m_castShadows决定是否投射阴影
+                    shadowCastingMode = m_samples.castShadows ? ShadowCastingMode.On : ShadowCastingMode.Off,
+                    // 是否接收阴影
+                    receiveShadows = m_samples.receiveShadows,
+                    // 是否为静态阴影投射器
+                    staticShadowCaster = m_samples.staticShadowCaster,
+                    // 是否全部深度排序
+                    allDepthSorted = m_samples.allDepthSorted
+                }
+            };
+
+            // 如果有绘制命令需要处理
+            if (drawCommands.drawCommandCount > 0)
+            {
+                // 由于我们不需要剔除,可见性整数数组缓冲区对于每个绘制命令将始终是{0,1,2,3,...}
+                // 所以我们只需分配maxInstancePerDrawCommand并填充它
+
+
+                int visibilityArraySize = maxInstancePerDrawCommand;
+                // 如果实例数量小于最大实例数,则调整可见性数组大小
+                if (m_instanceCount < visibilityArraySize)
+                    visibilityArraySize = m_instanceCount;
+                // for (int i = 0; i < visibilityArraySize; i++)
+                // {
+                //    
+                // }
+                // 为可见性实例分配内存
+                drawCommands.visibleInstances = Malloc<int>((uint)visibilityArraySize);
+
+                // 由于在此上下文中我们不需要任何视锥剔除,我们将可见性数组填充为{0,1,2,3...}
+                for (int i = 0; i < visibilityArraySize; i++)
+                {
+                    drawCommands.visibleInstances[i] = i;
+                    // drawCommands.visibleInstances[i] = 0;
+                }
+
+                // 分配BatchDrawCommand数组(drawCommandCount个条目)
+                // 在SSBO模式下,drawCommandCount将仅为1
+                drawCommands.drawCommands = Malloc<BatchDrawCommand>((uint)drawCommandCount);
+                // 剩余需要处理的实例数
+                int left = m_instanceCount;
+                // 为每个绘制命令填充信息
+                for (int b = 0; b < drawCommandCount; b++)
+                {
+                    // 计算当前批次中的实例数量
+                    int inBatchCount = left > maxInstancePerDrawCommand ? maxInstancePerDrawCommand : left;
+                    drawCommands.drawCommands[b] = new BatchDrawCommand
+                    {
+                        // 可见性偏移量,所有绘制命令都使用相同的{0,1,2,3...}可见性数组
+                        visibleOffset = (uint)0,
+                        // 可见实例数量
+                        visibleCount = (uint)inBatchCount,
+                        // 批次ID
+                        batchID = m_batchIDs[b],
+                        // 材质ID
+                        materialID = m_materialID,
+                        // 网格ID
+                        meshID = m_meshID,
+                        // 子网格索引
+                        submeshIndex = 0,
+                        // 分割可见性掩码
+                        splitVisibilityMask = 0xff,
+                        // 标志位
+                        flags = BatchDrawCommandFlags.None,
+                        // 排序位置
+                        sortingPosition = 0
+                    };
+                    // 减去已处理的实例数
+                    left -= inBatchCount;
+                }
+            }
+
+            // 将绘制命令设置到剔除输出中
+            cullingOutput.drawCommands[0] = drawCommands;
+            // 实例排序位置设置为空
+            drawCommands.instanceSortingPositions = null;
+            // 实例排序位置浮点数计数设置为0
+            drawCommands.instanceSortingPositionFloatCount = 0;
+        }
+
+        // 返回空的作业句柄
+        return new JobHandle();
+    }
+    
+}

+ 11 - 0
Assets/Scripts/Core/BRG/BRGRenderBasic.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: DnIXtH/4VC4MZaWa+bAgdUpOw9TZwkXLi7jSKRKBmQ4rrekj+zlOd4BhMs2f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 26 - 0
Assets/Scripts/Core/BRG/BRGSamples.cs

@@ -0,0 +1,26 @@
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Core.BRG
+{
+    [System.Serializable]
+    public class BRGSamples
+    {
+        public Mesh Mesh;
+        public Material Material;
+        public List<BRGShaderValue> AllShaderValues = new List<BRGShaderValue>();
+        public bool castShadows;
+        public bool receiveShadows;
+        public bool staticShadowCaster;
+        public bool allDepthSorted;
+        public int GetAllShaderValueSize()
+        {
+            int totalSize = 0;
+            foreach (var shaderValue in AllShaderValues)
+            {
+                totalSize += shaderValue.GetSize();
+            }
+            return totalSize;
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Core/BRG/BRGSamples.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c75d247808ae4d8593871d88a29f7269
+timeCreated: 1760929886

+ 27 - 0
Assets/Scripts/Core/BRG/BRGShaderValue.cs

@@ -0,0 +1,27 @@
+namespace Core.BRG
+{
+    [System.Serializable]
+    public class BRGShaderValue
+    {
+        public string key;
+        public BRGShaderValueType ValueType;
+
+        
+        public int GetSize()
+        {
+            switch (ValueType)
+            {
+                case BRGShaderValueType.F3X4:
+                    return 48;
+                case BRGShaderValueType.F4X4:
+                    return 64;
+                case BRGShaderValueType.F4:
+                    return 16;
+                case BRGShaderValueType.F1:
+                    return 4;
+                default:
+                    return 0;
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Core/BRG/BRGShaderValue.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: b8cbef651cc2409897c119b9a36a3e7e
+timeCreated: 1760929698

+ 10 - 0
Assets/Scripts/Core/BRG/BRGShaderValueType.cs

@@ -0,0 +1,10 @@
+namespace Core.BRG
+{
+    public enum BRGShaderValueType
+    {
+        F3X4,
+        F4X4,
+        F4,
+        F1,
+    }
+}

+ 3 - 0
Assets/Scripts/Core/BRG/BRGShaderValueType.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: beb766ab1abd406882786797caed61fb
+timeCreated: 1760929744

+ 76 - 0
Assets/Scripts/Core/BRG/BRG_backgrond.cs

@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using Core.BRG;
+using Unity.Collections;
+using Unity.Mathematics;
+using UnityEngine;
+
+public class BRG_backgrond : MonoBehaviour
+{
+    public BRGSamples samples;
+
+    // public Material mat;
+    // public Mesh mesh;
+    public bool m_castShadows;
+    public int w;
+    public int h;
+
+    /// <summary>
+    /// BRG容器对象
+    /// </summary>
+    private BRGRender<BGRGameObjectInfo> _mBrgRenderBasic;
+
+    private int m_itemCount;
+    public bool isUpdate = true;
+
+    /// <summary>
+    /// GPU项目大小(2个4x3矩阵加1个颜色,每个float4占16字节)
+    /// </summary>
+    private const int kGpuItemSize = (3 * 2 + 1) * 16;
+
+    public List<BGRGameObjectInfo> m_gameObjectInfos = new List<BGRGameObjectInfo>();
+
+    private void Start()
+    {
+        m_itemCount = w * h;
+
+        for (int i = 0; i < w; i++)
+        {
+            for (int j = 0; j < h; j++)
+            {
+                BGRGameObjectInfo info = new BGRGameObjectInfo();
+                info.pos = new Vector3(i * 2, j , 0); // 增加间距,使物体更容易看到
+                info.rot = Vector3.zero;
+                info.scale = Vector3.one; // 调整尺寸
+                m_gameObjectInfos.Add(info);
+            }
+        }
+
+        _mBrgRenderBasic = new BRGRender<BGRGameObjectInfo>();
+        _mBrgRenderBasic.InitRender(samples, m_gameObjectInfos);
+    }
+
+    private void OnDestroy()
+    {
+        if (_mBrgRenderBasic != null)
+        {
+            _mBrgRenderBasic.Shutdown();
+            _mBrgRenderBasic = null;
+        }
+    }
+
+    private void Update()
+    {
+        UpdatePos();
+    }
+
+    private void UpdatePos()
+    {
+        if (!isUpdate)
+        {
+            return;
+        }
+
+        _mBrgRenderBasic.UpdatePos();
+    }
+}

+ 11 - 0
Assets/Scripts/Core/BRG/BRG_backgrond.cs.meta

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

+ 61 - 0
Assets/Scripts/Core/BRG/BatchShaderBind.cs

@@ -0,0 +1,61 @@
+using Unity.Collections;
+using Unity.Mathematics;
+using UnityEngine;
+
+namespace Core.BRG
+{
+    public class BatchShaderBind
+    {
+        public BRGShaderValue shaderValue;
+        public int offset;
+
+        private NativeArray<float4x4> _f4x4Buffer;
+        private NativeArray<float3x4> _f3x4Buffer;
+        private NativeArray<float4> _f4Buffer;
+        private NativeArray<float> _f1Buffer;
+
+        private int _count;
+        private int _size;
+
+        private void InitBuffer(int count)
+        {
+            this._count = count;
+            _size = shaderValue.GetSize();
+            switch (shaderValue.ValueType)
+            {
+                case BRGShaderValueType.F4X4:
+                    _f4x4Buffer = new NativeArray<float4x4>(count, Allocator.Persistent);
+                    break;
+                case BRGShaderValueType.F3X4:
+                    _f3x4Buffer = new NativeArray<float3x4>(count, Allocator.Persistent);
+                    break;
+                case BRGShaderValueType.F4:
+                    _f4Buffer = new NativeArray<float4>(count, Allocator.Persistent);
+                    break;
+                case BRGShaderValueType.F1:
+                    _f1Buffer = new NativeArray<float>(count, Allocator.Persistent);
+                    break;
+            }
+        }
+
+        public void SetData(GraphicsBuffer graphicsBuffer)
+        {
+            InitBuffer(graphicsBuffer.count);
+            switch (shaderValue.ValueType)
+            {
+                case BRGShaderValueType.F4X4:
+                    graphicsBuffer.SetData(_f4x4Buffer, 0, offset / _size, _count);
+                    break;
+                case BRGShaderValueType.F3X4:
+                    graphicsBuffer.SetData(_f3x4Buffer, 0, offset / _size, _count);
+                    break;
+                case BRGShaderValueType.F4:
+                    graphicsBuffer.SetData(_f4Buffer, 0, offset / _size, _count);
+                    break;
+                case BRGShaderValueType.F1:
+                    graphicsBuffer.SetData(_f1Buffer, 0, offset / _size, graphicsBuffer.count);
+                    break;
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Core/BRG/BatchShaderBind.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 61528fa53d364d288d8e5924a82467bd
+timeCreated: 1760942472

+ 6 - 1
Assets/Scripts/GameLogic/Combat/Buff/b_1012.cs

@@ -15,10 +15,15 @@ namespace GameLogic.Combat.Buff
 
         public void FangXue()
         {
+            if (combatHeroEntity == null)
+            {
+                return;
+            }
+
             long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(source.CurrCombatHeroInfo.attack.Value,
                 BuffConfig.effectValue[0]);
             CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,
-                WuXingType.Gold,null);
+                WuXingType.Gold, null);
             _currTime = 0;
         }
     }

+ 2 - 1
Assets/Scripts/GameLogic/Combat/CombatTool/CombatController.cs

@@ -224,13 +224,14 @@ namespace GameLogic.Combat.CombatTool
         public void DisposeOneCombatInfo()
         {
             CombatReportManager.Instance.Clear();
-            MagicWeaponCombatSence.CloseSecene();
+            MagicWeaponCombatSence?.CloseSecene();
             CombatEventManager.Instance.Dispose();
         }
 
         
         public void Dispose()
         {
+            DisposeOneCombatInfo();
             TimeLineSingletonEventManager.Instance.RemoveTimeLineBasic(this);
             CombatTypeBasic?.Dispose();
             CombatHeroController?.Dispose();

+ 6 - 0
Assets/Scripts/GameLogic/Combat/CombatTool/CombatHeroController.cs

@@ -289,8 +289,14 @@ namespace GameLogic.Combat.CombatTool
                 enemyHero[i].Dispose();
             }
 
+            for (int i = 0; i < heroDie.Count; i++)
+            {
+                heroDie[i].Dispose();
+            }
+
             myHero.Clear();
             enemyHero.Clear();
+            heroDie.Clear();
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, CombatUseSkillEventData);
         }
 

+ 6 - 6
Assets/Scripts/GameUI/UI/BattleSettlementPanel/BattleSettlementPanel.cs

@@ -62,12 +62,12 @@ namespace Fort23.Mono
                 WinRoot.SetActive(false);
                 FailRoot.SetActive(true);
 
-                SkipToWidget skipToWidget =
-                    await UIManager.Instance.CreateGComponentForObject<SkipToWidget>(SkipToWidgetGam, null,
-                        SkipToContent);
-                skipToWidget.CustonInit(1);
-                skipToWidgets.Add(skipToWidget);
-                skipToWidget.OnClick = OnClick;
+                // SkipToWidget skipToWidget =
+                //     await UIManager.Instance.CreateGComponentForObject<SkipToWidget>(SkipToWidgetGam, null,
+                //         SkipToContent);
+                // skipToWidget.CustonInit(1);
+                // skipToWidgets.Add(skipToWidget);
+                // skipToWidget.OnClick = OnClick;
                 // Text_Desc.gameObject.SetActive(true);
                 // Text_Settlement.text = "失败";
             }

+ 10 - 0
Assets/Scripts/GameUI/UI/CombatPanel/CombatPuasePanel.cs

@@ -1,3 +1,6 @@
+using GameLogic.Combat;
+using GameLogic.Combat.CombatType;
+
 namespace Fort23.Mono
 {
     [UIBinding(prefab = "CombatPuasePanel")]
@@ -41,6 +44,13 @@ namespace Fort23.Mono
                 UIManager.Instance.HideUIUIPanel(this);
                 callBack.Invoke(true);
             });
+            XiangQing.onClick.AddListener(() =>
+            {
+                LevelBattleCombatType levelBattleCombatType =
+                    CombatDrive.Instance.CombatController.CombatTypeBasic as LevelBattleCombatType;
+                BossInfoPanel.OpenPanel(levelBattleCombatType.levelbattleConfig.ID,
+                    EventSystemManager.Instance.CurrentEventList);
+            });
         }
     }
 }

+ 11 - 0
Assets/Scripts/GameUI/UI/CombatPanel/CombatPuasePanelData.cs

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

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
UGUIPack/uguiconfig.db


+ 10 - 10
UserSettings/EditorUserSettings.asset

@@ -21,34 +21,34 @@ EditorUserSettings:
       value: 184c
       flags: 0
     RecentlyUsedSceneGuid-0:
-      value: 5402055e50575f5d0f5e54711173084444154f7e2f7a24657e2b1837b7b56669
+      value: 0050025706050c5d5f0c58274673074417161b72782977637e7b4c6bb1e6606e
       flags: 0
     RecentlyUsedSceneGuid-1:
-      value: 0050025706050c5d5f0c58274673074417161b72782977637e7b4c6bb1e6606e
+      value: 50030c5e500c58580e5d5c71457a0e44124f4d78292e7434787b1e36b2b4323a
       flags: 0
     RecentlyUsedSceneGuid-2:
-      value: 50030c5e500c58580e5d5c71457a0e44124f4d78292e7434787b1e36b2b4323a
+      value: 53520353570c0b5d0c5a0d2141755e44104e4a297d7c7762792d4a61bbb6613c
       flags: 0
     RecentlyUsedSceneGuid-3:
-      value: 53520353570c0b5d0c5a0d2141755e44104e4a297d7c7762792d4a61bbb6613c
+      value: 525456020100515e5d5f087145710844404f1c797d2e7262752d4b67b0b6373e
       flags: 0
     RecentlyUsedSceneGuid-4:
-      value: 525456020100515e5d5f087145710844404f1c797d2e7262752d4b67b0b6373e
+      value: 060255045d5150585957587212750944444f412c2e7c20342c7b4c67e3b26d60
       flags: 0
     RecentlyUsedSceneGuid-5:
-      value: 060255045d5150585957587212750944444f412c2e7c20342c7b4c67e3b26d60
+      value: 545007550304585a545d5e76157b0844454f1b7a2d2c7666782f4961b7b9623b
       flags: 0
     RecentlyUsedSceneGuid-6:
-      value: 545007550304585a545d5e76157b0844454f1b7a2d2c7666782f4961b7b9623b
+      value: 0002065506010b09555d0e7a12750a4443151a297a2e70317d7d4d6be1e1616f
       flags: 0
     RecentlyUsedSceneGuid-7:
-      value: 0002065506010b09555d0e7a12750a4443151a297a2e70317d7d4d6be1e1616f
+      value: 52570c02000d5e025a58597212725c4440161c2e797a75607f2c4467b7b3323e
       flags: 0
     RecentlyUsedSceneGuid-8:
-      value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
+      value: 5009075552535a5d5b565c2446260844401548287a7d743674704963e1e1673c
       flags: 0
     RecentlyUsedSceneGuid-9:
-      value: 52570c02000d5e025a58597212725c4440161c2e797a75607f2c4467b7b3323e
+      value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
       flags: 0
     Systems Window:
       value: 183b144645154b7802000a2b17364d11021e17246e72662b47695d73a2a07478a2a505e1e82d6f2f100cca3210371526d1051c05e22a040f2507f00b32f01c061ccb5a9f5ace1e10d81c50a48d5d91a3959694aa9ad8efd7c9f2afe0f1c0fcfdf6f8b6f2a5a6dacfb89debbfa1cbc9c3f5c3bac18e9c89c1bbdec2d6f2b992939996c59699c79ae8d182b7baad82aba0b0aea88398abdbf1dd8a8ea765ffc520262728fafcf8f6c28eb162945c71898d6167877a72a980809c9f71cecece859d579fd5f106dbdadb21de0dde237c686c76706641634c764f547c624a7e622d6628286620686f653d2b635a0204003e0805017509093043470e3643041c5d5b415c54450e1c424b420f6e4b634e636263696655641a1f273c0f083c1102ec362de62318e9ea25ab61ade8ed0ee30655b0b6b7b8176615

+ 4 - 0
XiuXianGame.sln.DotSettings.user

@@ -8,6 +8,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AArray_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003Fd5_003Fcf947ad8_003FArray_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAsyncInstantiateOperationHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F3b_003F82aeb7a5_003FAsyncInstantiateOperationHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAsyncMethodBuilderCore_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F82_003F86e88926_003FAsyncMethodBuilderCore_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ABatchFilterSettings_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F2b_003F6302754e_003FBatchFilterSettings_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ABoolean_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003Fb7_003F8b615c21_003FBoolean_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACameraType_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F07_003F2a422d04_003FCameraType_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACamera_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fb4_003Fff6cb607_003FCamera_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@@ -33,6 +34,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Fd3_003F4533b7c3_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fadmin_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Fd3_003F4533b7c3_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F78_003Fe39b72ca_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGraphicsBuffer_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F3a_003F867eec19_003FGraphicsBuffer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIGrouping_00602_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5004a53079e04c2991f89460a5186cf010fc00_003Fb1_003F69de2d9e_003FIGrouping_00602_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIMGUIContainer_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F56d039fe633a4adf8fb266a0b1797e6c17a000_003F2c_003F134ee6ec_003FIMGUIContainer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AINotifyCompletion_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F64_003Fbb31faf9_003FINotifyCompletion_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@@ -54,6 +56,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMath_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F0b_003F91e5e512_003FMath_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMesh_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003Fde_003Fb0e5d275_003FMesh_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMonoBehaviour_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F2d_003F1dd7205f_003FMonoBehaviour_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANativeArray_00601_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F3d_003F7966baaa_003FNativeArray_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANullable_00601_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F14_003F6b3cf15a_003FNullable_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANullable_00601_002Ecs_002Fl_003AC_0021_003FUsers_003Fadmin_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F50_003F76c2310d_003FNullable_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AObject_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F78_003F5e834fc5_003FObject_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@@ -66,6 +69,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARandom_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F9f_003F293a2b71_003FRandom_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARandom_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb18a8b3398e74bca86895881dd02956c573648_003F4c_003Fb5eddf34_003FRandom_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARenderChain_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F56d039fe633a4adf8fb266a0b1797e6c17a000_003Fad_003F950abb89_003FRenderChain_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARenderSettings_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F52_003F7f76ba6b_003FRenderSettings_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARenderTargetIdentifier_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F4b_003Faf2fce31_003FRenderTargetIdentifier_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AS2002_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa01b6d4ffd8a40da9aa90b33ff5055f23dc00_003Fce_003Fab212403_003FS2002_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShader_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F21_003Fcaaaf4a6_003FShader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
美术/unity_use_ui/TextrueJson/battle.txt


BIN
美术/unity_use_ui/decorate/dec_zd_jixu.png


BIN
美术/unity_use_ui/decorate/dec_zd_tuichu.png


BIN
美术/unity_use_ui/decorate/dec_zd_xiangqing.png


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.