Ver código fonte

修改文件

DESKTOP-FB72PO8\Administrator 7 meses atrás
pai
commit
28c33f823d
100 arquivos alterados com 6021 adições e 148 exclusões
  1. 4150 21
      Assets/Art/Chapter/Chapter01.prefab
  2. 1 1
      Assets/Art/Chapter/Chapter01.prefab.meta
  3. 2 2
      Assets/Art/Forest Ruins Pack Cute Series/Materials/Forest Ruins.mat.meta
  4. 2 2
      Assets/Art/Forest Ruins Pack Cute Series/Materials/Grass 01A.mat.meta
  5. 2 2
      Assets/Art/Forest Ruins Pack Cute Series/Materials/Grass 01B.mat.meta
  6. 2 2
      Assets/Art/Forest Ruins Pack Cute Series/Materials/Tree 02 Leaves Blue.mat.meta
  7. 2 2
      Assets/Art/Forest Ruins Pack Cute Series/Materials/Tree 02 Leaves Orange.mat.meta
  8. 1 1
      Assets/Art/Forest Ruins Pack Cute Series/Textures/Forest Ruins.png.meta
  9. 62 14
      Assets/Art/Forest Ruins Pack Cute Series/Textures/Grass 01A.psd.meta
  10. 62 14
      Assets/Art/Forest Ruins Pack Cute Series/Textures/Grass 01B.psd.meta
  11. 57 9
      Assets/Art/Forest Ruins Pack Cute Series/Textures/Tree 02 Leaves.psd.meta
  12. 130 0
      Assets/Art/HeroTimeLine/Hero01.playable
  13. 130 0
      Assets/Art/HeroTimeLine/Hero02.playable
  14. 130 0
      Assets/Art/HeroTimeLine/Hero03.playable
  15. 130 0
      Assets/Art/HeroTimeLine/Hero04.playable
  16. 5 0
      Assets/Bundles/BuildConfig.prefab
  17. 29 0
      Assets/Res/HeroAnimtion/Hero01_library.asset
  18. 29 0
      Assets/Res/HeroAnimtion/Hero02_library.asset
  19. 29 0
      Assets/Res/HeroAnimtion/Hero03_library.asset
  20. 29 0
      Assets/Res/HeroAnimtion/Hero04_library.asset
  21. 0 0
      Assets/Res/TimeLineAssets/Hero01_TD.txt
  22. 0 0
      Assets/Res/TimeLineAssets/Hero02_TD.txt
  23. 0 0
      Assets/Res/TimeLineAssets/Hero03_TD.txt
  24. 0 0
      Assets/Res/TimeLineAssets/Hero04_TD.txt
  25. 423 60
      Assets/Scenes/testCombat.scene
  26. BIN
      Assets/Scenes/testCombat/NavMesh-Chapter01 1.asset
  27. 8 0
      Assets/Scenes/testCombat/NavMesh-Chapter01 1.asset.meta
  28. BIN
      Assets/Scenes/testCombat/NavMesh-Chapter01 2.asset
  29. 8 0
      Assets/Scenes/testCombat/NavMesh-Chapter01 2.asset.meta
  30. BIN
      Assets/Scenes/testCombat/NavMesh-Chapter01 3.asset
  31. 8 0
      Assets/Scenes/testCombat/NavMesh-Chapter01 3.asset.meta
  32. BIN
      Assets/Scenes/testCombat/NavMesh-Chapter01 4.asset
  33. 8 0
      Assets/Scenes/testCombat/NavMesh-Chapter01 4.asset.meta
  34. BIN
      Assets/Scenes/testCombat/NavMesh-Chapter01 5.asset
  35. 8 0
      Assets/Scenes/testCombat/NavMesh-Chapter01 5.asset.meta
  36. BIN
      Assets/Scenes/testCombat/NavMesh-Chapter01 6.asset
  37. 8 0
      Assets/Scenes/testCombat/NavMesh-Chapter01 6.asset.meta
  38. BIN
      Assets/Scenes/testCombat/NavMesh-Chapter01.asset
  39. 8 0
      Assets/Scenes/testCombat/NavMesh-Chapter01.asset.meta
  40. 14 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/AlertTriggerEventData.cs
  41. 3 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/AlertTriggerEventData.cs.meta
  42. 4 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/CombatEventType.cs
  43. 2 1
      Assets/Scripts/GameLogic/Combat/CombatTool/CombatCameraControllder.cs
  44. 2 2
      Assets/Scripts/GameLogic/Combat/CombatTool/CombatController.cs
  45. 2 2
      Assets/Scripts/GameLogic/Combat/CombatType/TestCombatType.cs
  46. 45 3
      Assets/Scripts/GameLogic/Combat/Hero/CombatAIBasic.cs
  47. 12 0
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroAi.cs
  48. 3 0
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroAi.cs.meta
  49. 1 0
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroStateType.cs
  50. 7 2
      Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroIdleState.cs
  51. 1 1
      Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroMoveState.cs
  52. 67 0
      Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroRollingState.cs
  53. 3 0
      Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroRollingState.cs.meta
  54. 81 6
      Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs
  55. 38 0
      Assets/Scripts/GameLogic/CombatScenesTool/CombatAlertManager.cs
  56. 3 0
      Assets/Scripts/GameLogic/CombatScenesTool/CombatAlertManager.cs.meta
  57. 1 0
      Assets/Scripts/GameLogic/CombatScenesTool/CombatScenesConfig.cs
  58. 1 1
      Assets/Scripts/GameLogic/CombatScenesTool/CombatScenesNodeConfig.cs
  59. 3 0
      Assets/Scripts/GameTimeLine/CustomizeTime/TimeLineAlertAsset.meta
  60. 14 0
      Assets/Scripts/GameTimeLine/CustomizeTime/TimeLineAlertAsset/TimeLineAlertAsset.cs
  61. 3 0
      Assets/Scripts/GameTimeLine/CustomizeTime/TimeLineAlertAsset/TimeLineAlertAsset.cs.meta
  62. 109 0
      Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventLogic/TimeLineAlertLogic.cs
  63. 3 0
      Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventLogic/TimeLineAlertLogic.cs.meta
  64. 12 0
      Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventinterface/ITimeLineAlertTargetEnter.cs
  65. 3 0
      Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventinterface/ITimeLineAlertTargetEnter.cs.meta
  66. 48 0
      Assets/Scripts/GameTimeLine/SerializationTimeLine/TimeLineSerialization/TimeLineAlertSeriailztion.cs
  67. 3 0
      Assets/Scripts/GameTimeLine/SerializationTimeLine/TimeLineSerialization/TimeLineAlertSeriailztion.cs.meta
  68. 0 0
      Assets/StreamingAssets/Bundle/MD5.txt
  69. BIN
      Assets/StreamingAssets/Bundle/UnityBundle
  70. BIN
      Assets/StreamingAssets/Bundle/albedo_t1
  71. 0 0
      Assets/StreamingAssets/Bundle/assetConfig.txt
  72. BIN
      Assets/StreamingAssets/Bundle/bg_7riqdddi
  73. BIN
      Assets/StreamingAssets/Bundle/chapter01
  74. 7 0
      Assets/StreamingAssets/Bundle/chapter01.meta
  75. BIN
      Assets/StreamingAssets/Bundle/combine
  76. BIN
      Assets/StreamingAssets/Bundle/defaultpbr
  77. BIN
      Assets/StreamingAssets/Bundle/forest_ruins
  78. 7 0
      Assets/StreamingAssets/Bundle/forest_ruins.meta
  79. BIN
      Assets/StreamingAssets/Bundle/forest_ruins_t2
  80. 7 0
      Assets/StreamingAssets/Bundle/forest_ruins_t2.meta
  81. BIN
      Assets/StreamingAssets/Bundle/grass_01a
  82. 7 0
      Assets/StreamingAssets/Bundle/grass_01a.meta
  83. BIN
      Assets/StreamingAssets/Bundle/grass_01a_t5
  84. 7 0
      Assets/StreamingAssets/Bundle/grass_01a_t5.meta
  85. BIN
      Assets/StreamingAssets/Bundle/grass_01b
  86. 7 0
      Assets/StreamingAssets/Bundle/grass_01b.meta
  87. BIN
      Assets/StreamingAssets/Bundle/grass_01b_t4
  88. 7 0
      Assets/StreamingAssets/Bundle/grass_01b_t4.meta
  89. BIN
      Assets/StreamingAssets/Bundle/guaiwu01
  90. BIN
      Assets/StreamingAssets/Bundle/hero01
  91. BIN
      Assets/StreamingAssets/Bundle/hero01_td
  92. BIN
      Assets/StreamingAssets/Bundle/showitemmovetotargetpanel
  93. BIN
      Assets/StreamingAssets/Bundle/testcombatscenes
  94. BIN
      Assets/StreamingAssets/Bundle/tree_02_leaves_blue
  95. 7 0
      Assets/StreamingAssets/Bundle/tree_02_leaves_blue.meta
  96. BIN
      Assets/StreamingAssets/Bundle/tree_02_leaves_orange
  97. 7 0
      Assets/StreamingAssets/Bundle/tree_02_leaves_orange.meta
  98. BIN
      Assets/StreamingAssets/Bundle/tree_02_leaves_t3
  99. 7 0
      Assets/StreamingAssets/Bundle/tree_02_leaves_t3.meta
  100. BIN
      Assets/StreamingAssets/Bundle/zhanli_0

Diferenças do arquivo suprimidas por serem muito extensas
+ 4150 - 21
Assets/Art/Chapter/Chapter01.prefab


+ 1 - 1
Assets/Art/Chapter/Chapter01.prefab.meta

@@ -3,5 +3,5 @@ guid: DH4c5yP7Vyg9XFYwWeSpAuWM1pMjELv/70RTCS9SqgzGz1yaMdOwnbQ=
 PrefabImporter:
   externalObjects: {}
   userData: 
-  assetBundleName: 
+  assetBundleName: chapter01
   assetBundleVariant: 

+ 2 - 2
Assets/Art/Forest Ruins Pack Cute Series/Materials/Forest Ruins.mat.meta

@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: 3327488551b1a38479df54c091492e38
+guid: DHkdsi6lW34jXx8sXJwILQ2Pw4XAUdbTR0lLPaexU8yKFVyC5lC2Eaw=
 NativeFormatImporter:
   externalObjects: {}
   mainObjectFileID: 2100000
   userData: 
-  assetBundleName: 
+  assetBundleName: forest_ruins
   assetBundleVariant: 

+ 2 - 2
Assets/Art/Forest Ruins Pack Cute Series/Materials/Grass 01A.mat.meta

@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: e360d0605b251634b8633ffd88dfb7dd
+guid: WnkZtX6tVXuOjDEZF9EDgKVde+NTpyCkHWqMzBO7CaPVy8RTvIMBoRA=
 NativeFormatImporter:
   externalObjects: {}
   mainObjectFileID: 2100000
   userData: 
-  assetBundleName: 
+  assetBundleName: grass_01a
   assetBundleVariant: 

+ 2 - 2
Assets/Art/Forest Ruins Pack Cute Series/Materials/Grass 01B.mat.meta

@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: 219c9912c88df7e4790964adc12f3a58
+guid: DXsW5iOkUnngg3G3eCK9Eag7MKxRnhgNrVV312sbBUovzyoT6N9WfC8=
 NativeFormatImporter:
   externalObjects: {}
   mainObjectFileID: 2100000
   userData: 
-  assetBundleName: 
+  assetBundleName: grass_01b
   assetBundleVariant: 

+ 2 - 2
Assets/Art/Forest Ruins Pack Cute Series/Materials/Tree 02 Leaves Blue.mat.meta

@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: e282eb5eebe3de341a086a6867afa417
+guid: WngXt3//Vi59PereDnpCNf+XeBALRyy8DDTda7Op57qokxOcE16COxw=
 NativeFormatImporter:
   externalObjects: {}
   mainObjectFileID: 2100000
   userData: 
-  assetBundleName: 
+  assetBundleName: tree_02_leaves_blue
   assetBundleVariant: 

+ 2 - 2
Assets/Art/Forest Ruins Pack Cute Series/Materials/Tree 02 Leaves Orange.mat.meta

@@ -1,8 +1,8 @@
 fileFormatVersion: 2
-guid: 4737c1a6c522cf143ab1bc6eca516382
+guid: C30csnmsAn3c5jBFd+ypP2Sik/opm6PNzRnievYd5vS/blSkP3h0vkM=
 NativeFormatImporter:
   externalObjects: {}
   mainObjectFileID: 2100000
   userData: 
-  assetBundleName: 
+  assetBundleName: tree_02_leaves_orange
   assetBundleVariant: 

+ 1 - 1
Assets/Art/Forest Ruins Pack Cute Series/Textures/Forest Ruins.png.meta

@@ -157,5 +157,5 @@ TextureImporter:
   mipmapLimitGroupName: 
   pSDRemoveMatte: 0
   userData: 
-  assetBundleName: 
+  assetBundleName: forest_ruins_t2
   assetBundleVariant: 

+ 62 - 14
Assets/Art/Forest Ruins Pack Cute Series/Textures/Grass 01A.psd.meta

@@ -1,9 +1,9 @@
 fileFormatVersion: 2
-guid: 32049564cb3508140ace3b80fd326d90
+guid: DHgfsSOoVX88GMVJqq7EKBjachpqBY8isM/ibuwgSU6rBPF7493f2pE=
 TextureImporter:
-  fileIDToRecycleName: {}
+  internalIDToNameTable: []
   externalObjects: {}
-  serializedVersion: 9
+  serializedVersion: 13
   mipmaps:
     mipMapMode: 0
     enableMipMap: 1
@@ -20,9 +20,15 @@ TextureImporter:
     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
@@ -31,12 +37,12 @@ TextureImporter:
   maxTextureSize: 2048
   textureSettings:
     serializedVersion: 2
-    filterMode: -1
-    aniso: -1
-    mipBias: -100
-    wrapU: -1
-    wrapV: -1
-    wrapW: -1
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
   nPOTScale: 1
   lightmap: 0
   compressionQuality: 50
@@ -54,13 +60,20 @@ TextureImporter:
   textureType: 0
   textureShape: 1
   singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
   maxTextureSizeSet: 0
   compressionQualitySet: 0
   textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 1
+  swizzle: 50462976
+  cookieLightType: 1
   platformSettings:
-  - serializedVersion: 2
+  - serializedVersion: 3
     buildTarget: DefaultTexturePlatform
     maxTextureSize: 128
+    maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: -1
     textureCompression: 1
@@ -68,10 +81,13 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+    ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
-  - serializedVersion: 2
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
     buildTarget: Standalone
     maxTextureSize: 128
+    maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: -1
     textureCompression: 1
@@ -79,7 +95,37 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+    ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 128
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 128
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
   spriteSheet:
     serializedVersion: 2
     sprites: []
@@ -87,13 +133,15 @@ TextureImporter:
     physicsShape: []
     bones: []
     spriteID: 
+    internalID: 0
     vertices: []
     indices: 
     edges: []
     weights: []
-  spritePackingTag: 
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
   pSDRemoveMatte: 0
-  pSDShowRemoveMatteOption: 1
   userData: 
-  assetBundleName: 
+  assetBundleName: grass_01a_t5
   assetBundleVariant: 

+ 62 - 14
Assets/Art/Forest Ruins Pack Cute Series/Textures/Grass 01B.psd.meta

@@ -1,9 +1,9 @@
 fileFormatVersion: 2
-guid: dd0c3c95ea497c5418396c07705e3635
+guid: Wy4f5in+Wn78f1r+yH28VSJYzyBQ1CiEB4l8jq8mcqBXMQQ9XZDPcZY=
 TextureImporter:
-  fileIDToRecycleName: {}
+  internalIDToNameTable: []
   externalObjects: {}
-  serializedVersion: 9
+  serializedVersion: 13
   mipmaps:
     mipMapMode: 0
     enableMipMap: 1
@@ -20,9 +20,15 @@ TextureImporter:
     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
@@ -31,12 +37,12 @@ TextureImporter:
   maxTextureSize: 2048
   textureSettings:
     serializedVersion: 2
-    filterMode: -1
-    aniso: -1
-    mipBias: -100
-    wrapU: -1
-    wrapV: -1
-    wrapW: -1
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
   nPOTScale: 1
   lightmap: 0
   compressionQuality: 50
@@ -54,13 +60,20 @@ TextureImporter:
   textureType: 0
   textureShape: 1
   singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
   maxTextureSizeSet: 0
   compressionQualitySet: 0
   textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 1
+  swizzle: 50462976
+  cookieLightType: 1
   platformSettings:
-  - serializedVersion: 2
+  - serializedVersion: 3
     buildTarget: DefaultTexturePlatform
     maxTextureSize: 128
+    maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: -1
     textureCompression: 1
@@ -68,10 +81,13 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+    ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
-  - serializedVersion: 2
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
     buildTarget: Standalone
     maxTextureSize: 128
+    maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: -1
     textureCompression: 1
@@ -79,7 +95,37 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+    ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 128
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 128
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
   spriteSheet:
     serializedVersion: 2
     sprites: []
@@ -87,13 +133,15 @@ TextureImporter:
     physicsShape: []
     bones: []
     spriteID: 
+    internalID: 0
     vertices: []
     indices: 
     edges: []
     weights: []
-  spritePackingTag: 
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
   pSDRemoveMatte: 0
-  pSDShowRemoveMatteOption: 1
   userData: 
-  assetBundleName: 
+  assetBundleName: grass_01b_t4
   assetBundleVariant: 

+ 57 - 9
Assets/Art/Forest Ruins Pack Cute Series/Textures/Tree 02 Leaves.psd.meta

@@ -1,9 +1,9 @@
 fileFormatVersion: 2
-guid: d822f5d9a101cf247976b20e9f186b9e
+guid: W3Idt3yoB3JNX0FDkQD4ZxG7osBSpsi4JFADr/h1LF+COZT67+DloH8=
 TextureImporter:
-  fileIDToRecycleName: {}
+  internalIDToNameTable: []
   externalObjects: {}
-  serializedVersion: 9
+  serializedVersion: 13
   mipmaps:
     mipMapMode: 0
     enableMipMap: 1
@@ -20,9 +20,15 @@ TextureImporter:
     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
@@ -33,7 +39,7 @@ TextureImporter:
     serializedVersion: 2
     filterMode: 1
     aniso: 1
-    mipBias: -100
+    mipBias: 0
     wrapU: 0
     wrapV: 0
     wrapW: 0
@@ -54,13 +60,20 @@ TextureImporter:
   textureType: 0
   textureShape: 1
   singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
   maxTextureSizeSet: 0
   compressionQualitySet: 0
   textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 1
+  swizzle: 50462976
+  cookieLightType: 1
   platformSettings:
-  - serializedVersion: 2
+  - serializedVersion: 3
     buildTarget: DefaultTexturePlatform
     maxTextureSize: 256
+    maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: -1
     textureCompression: 1
@@ -68,10 +81,13 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+    ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
-  - serializedVersion: 2
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
     buildTarget: Standalone
     maxTextureSize: 256
+    maxPlaceholderSize: 32
     resizeAlgorithm: 0
     textureFormat: -1
     textureCompression: 1
@@ -79,7 +95,37 @@ TextureImporter:
     crunchedCompression: 0
     allowsAlphaSplitting: 0
     overridden: 0
+    ignorePlatformSupport: 0
     androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 256
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 256
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
   spriteSheet:
     serializedVersion: 2
     sprites: []
@@ -87,13 +133,15 @@ TextureImporter:
     physicsShape: []
     bones: []
     spriteID: 
+    internalID: 0
     vertices: []
     indices: 
     edges: []
     weights: []
-  spritePackingTag: 
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
   pSDRemoveMatte: 0
-  pSDShowRemoveMatteOption: 1
   userData: 
-  assetBundleName: 
+  assetBundleName: tree_02_leaves_t3
   assetBundleVariant: 

+ 130 - 0
Assets/Art/HeroTimeLine/Hero01.playable

@@ -1393,6 +1393,7 @@ MonoBehaviour:
   m_Parent: {fileID: 11400000}
   m_Children:
   - {fileID: 1763569083830606840}
+  - {fileID: 2839645117605487359}
   m_Clips: []
   m_Markers:
     m_Objects: []
@@ -1627,6 +1628,98 @@ MonoBehaviour:
   m_Clips: []
   m_Markers:
     m_Objects: []
+--- !u!114 &2839645117605487359
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3fc2695741642bd42a34534ca2286500, type: 3}
+  m_Name: Customize Track
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_AnimClip: {fileID: 0}
+  m_Locked: 0
+  m_Muted: 0
+  m_CustomPlayableFullTypename: 
+  m_Curves: {fileID: 0}
+  m_Parent: {fileID: 908097690384583138}
+  m_Children: []
+  m_Clips:
+  - m_Version: 1
+    m_Start: 0
+    m_ClipIn: 0
+    m_Asset: {fileID: 5994045965338449050}
+    m_Duration: 0.4
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: 2839645117605487359}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: -1
+    m_BlendOutDuration: -1
+    m_MixInCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_MixOutCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_BlendInCurveMode: 0
+    m_BlendOutCurveMode: 0
+    m_ExposedParameterNames: []
+    m_AnimationCurves: {fileID: 0}
+    m_Recordable: 0
+    m_PostExtrapolationMode: 0
+    m_PreExtrapolationMode: 0
+    m_PostExtrapolationTime: 0
+    m_PreExtrapolationTime: 0
+    m_DisplayName: TimeLineCurveAsset
+  m_Markers:
+    m_Objects: []
 --- !u!114 &3018899321963489689
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -1785,6 +1878,43 @@ MonoBehaviour:
   m_Rotation: {x: 0, y: 0, z: 0, w: 1}
   isRunPlay: 0
   layerId: 0
+--- !u!114 &5994045965338449050
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8d3365a4f95d26d418e985a09ea569ee, type: 3}
+  m_Name: TimeLineCurveAsset
+  m_EditorClassIdentifier: 
+  guid: fangun
+  AnimationCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 2
+      outSlope: 2
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
 --- !u!114 &6565258489726515437
 MonoBehaviour:
   m_ObjectHideFlags: 1

+ 130 - 0
Assets/Art/HeroTimeLine/Hero02.playable

@@ -912,6 +912,43 @@ MonoBehaviour:
   m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
   m_Rotation: {x: 0, y: 0, z: 0, w: 1}
   m_ApplyOffsets: 0
+--- !u!114 &-3141054516638477503
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8d3365a4f95d26d418e985a09ea569ee, type: 3}
+  m_Name: TimeLineCurveAsset(Clone)(Clone)
+  m_EditorClassIdentifier: 
+  guid: fangun
+  AnimationCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 2
+      outSlope: 2
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
 --- !u!114 &-2712120721017474119
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -1251,6 +1288,7 @@ MonoBehaviour:
   m_Parent: {fileID: 11400000}
   m_Children:
   - {fileID: 1763569083830606840}
+  - {fileID: 5837492821139701382}
   m_Clips: []
   m_Markers:
     m_Objects: []
@@ -1595,6 +1633,98 @@ MonoBehaviour:
   m_Rotation: {x: 0, y: 0, z: 0, w: 1}
   isRunPlay: 0
   layerId: 0
+--- !u!114 &5837492821139701382
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3fc2695741642bd42a34534ca2286500, type: 3}
+  m_Name: Customize Track
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_AnimClip: {fileID: 0}
+  m_Locked: 0
+  m_Muted: 0
+  m_CustomPlayableFullTypename: 
+  m_Curves: {fileID: 0}
+  m_Parent: {fileID: 908097690384583138}
+  m_Children: []
+  m_Clips:
+  - m_Version: 1
+    m_Start: 0
+    m_ClipIn: 0
+    m_Asset: {fileID: -3141054516638477503}
+    m_Duration: 0.4
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: 5837492821139701382}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: -1
+    m_BlendOutDuration: -1
+    m_MixInCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_MixOutCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_BlendInCurveMode: 0
+    m_BlendOutCurveMode: 0
+    m_ExposedParameterNames: []
+    m_AnimationCurves: {fileID: 0}
+    m_Recordable: 0
+    m_PostExtrapolationMode: 0
+    m_PreExtrapolationMode: 0
+    m_PostExtrapolationTime: 0
+    m_PreExtrapolationTime: 0
+    m_DisplayName: TimeLineCurveAsset
+  m_Markers:
+    m_Objects: []
 --- !u!114 &6673489723974489208
 MonoBehaviour:
   m_ObjectHideFlags: 1

+ 130 - 0
Assets/Art/HeroTimeLine/Hero03.playable

@@ -1232,6 +1232,7 @@ MonoBehaviour:
   m_Curves: {fileID: 0}
   m_Parent: {fileID: 11400000}
   m_Children:
+  - {fileID: 6198964350539305228}
   - {fileID: 1763569083830606840}
   m_Clips: []
   m_Markers:
@@ -1601,6 +1602,98 @@ MonoBehaviour:
   m_Rotation: {x: 0, y: 0, z: 0, w: 1}
   isRunPlay: 0
   layerId: 0
+--- !u!114 &6198964350539305228
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3fc2695741642bd42a34534ca2286500, type: 3}
+  m_Name: Customize Track
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_AnimClip: {fileID: 0}
+  m_Locked: 0
+  m_Muted: 0
+  m_CustomPlayableFullTypename: 
+  m_Curves: {fileID: 0}
+  m_Parent: {fileID: 908097690384583138}
+  m_Children: []
+  m_Clips:
+  - m_Version: 1
+    m_Start: 0
+    m_ClipIn: 0
+    m_Asset: {fileID: 7243628162090014812}
+    m_Duration: 0.4
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: 6198964350539305228}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: -1
+    m_BlendOutDuration: -1
+    m_MixInCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_MixOutCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_BlendInCurveMode: 0
+    m_BlendOutCurveMode: 0
+    m_ExposedParameterNames: []
+    m_AnimationCurves: {fileID: 0}
+    m_Recordable: 0
+    m_PostExtrapolationMode: 0
+    m_PreExtrapolationMode: 0
+    m_PostExtrapolationTime: 0
+    m_PreExtrapolationTime: 0
+    m_DisplayName: TimeLineCurveAsset
+  m_Markers:
+    m_Objects: []
 --- !u!114 &6914761443523394160
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -1649,3 +1742,40 @@ MonoBehaviour:
   m_Clips: []
   m_Markers:
     m_Objects: []
+--- !u!114 &7243628162090014812
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8d3365a4f95d26d418e985a09ea569ee, type: 3}
+  m_Name: TimeLineCurveAsset(Clone)(Clone)
+  m_EditorClassIdentifier: 
+  guid: fangun
+  AnimationCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 2
+      outSlope: 2
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4

+ 130 - 0
Assets/Art/HeroTimeLine/Hero04.playable

@@ -1052,6 +1052,98 @@ MonoBehaviour:
   m_Clips: []
   m_Markers:
     m_Objects: []
+--- !u!114 &-2174728873140719655
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3fc2695741642bd42a34534ca2286500, type: 3}
+  m_Name: Customize Track
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_AnimClip: {fileID: 0}
+  m_Locked: 0
+  m_Muted: 0
+  m_CustomPlayableFullTypename: 
+  m_Curves: {fileID: 0}
+  m_Parent: {fileID: 908097690384583138}
+  m_Children: []
+  m_Clips:
+  - m_Version: 1
+    m_Start: 0
+    m_ClipIn: 0
+    m_Asset: {fileID: 7548899880832640995}
+    m_Duration: 0.4
+    m_TimeScale: 1
+    m_ParentTrack: {fileID: -2174728873140719655}
+    m_EaseInDuration: 0
+    m_EaseOutDuration: 0
+    m_BlendInDuration: -1
+    m_BlendOutDuration: -1
+    m_MixInCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_MixOutCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    m_BlendInCurveMode: 0
+    m_BlendOutCurveMode: 0
+    m_ExposedParameterNames: []
+    m_AnimationCurves: {fileID: 0}
+    m_Recordable: 0
+    m_PostExtrapolationMode: 0
+    m_PreExtrapolationMode: 0
+    m_PostExtrapolationTime: 0
+    m_PreExtrapolationTime: 0
+    m_DisplayName: TimeLineCurveAsset
+  m_Markers:
+    m_Objects: []
 --- !u!114 &-1825693794688959994
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -1259,6 +1351,7 @@ MonoBehaviour:
   m_Curves: {fileID: 0}
   m_Parent: {fileID: 11400000}
   m_Children:
+  - {fileID: -2174728873140719655}
   - {fileID: 1763569083830606840}
   m_Clips: []
   m_Markers:
@@ -1664,6 +1757,43 @@ MonoBehaviour:
   m_Clips: []
   m_Markers:
     m_Objects: []
+--- !u!114 &7548899880832640995
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8d3365a4f95d26d418e985a09ea569ee, type: 3}
+  m_Name: TimeLineCurveAsset(Clone)(Clone)
+  m_EditorClassIdentifier: 
+  guid: fangun
+  AnimationCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    - serializedVersion: 3
+      time: 1
+      value: 1
+      inSlope: 2
+      outSlope: 2
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0
+      outWeight: 0
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
 --- !u!114 &8012208906946981020
 MonoBehaviour:
   m_ObjectHideFlags: 1

+ 5 - 0
Assets/Bundles/BuildConfig.prefab

@@ -86,4 +86,9 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: -132063948
+    gameObject: {fileID: 102900000, guid: 8b7e12813c8795549ba86a6e9a1b04dd, type: 3}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1

+ 29 - 0
Assets/Res/HeroAnimtion/Hero01_library.asset

@@ -1,5 +1,33 @@
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
+--- !u!114 &-7492277400977875935
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5a8877f26e7a6a43aaf06fade1a064a, type: 3}
+  m_Name: RollBWD_Battle_InPlace_SwordAndShield
+  m_EditorClassIdentifier: 
+  _Transition:
+    rid: 6156714584335187970
+  references:
+    version: 2
+    RefIds:
+    - rid: 6156714584335187970
+      type: {class: ClipTransition, ns: Animancer, asm: Kybernetik.Animancer}
+      data:
+        _FadeDuration: 0.25
+        _Speed: 1
+        _Events:
+          _NormalizedTimes: []
+          _Callbacks: []
+          _Names: []
+        _Clip: {fileID: 1827226128182048838, guid: 03e7b9c42e25e6c4f89acb40263d29f9, type: 3}
+        _NormalizedStartTime: NaN
 --- !u!114 &-6463034078416130267
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -147,6 +175,7 @@ MonoBehaviour:
     - {fileID: -4218299810317163657}
     - {fileID: 4132149882535381313}
     - {fileID: -3110653298159896961}
+    - {fileID: -7492277400977875935}
     _Modifiers:
     - _From: 0
       _To: 5

+ 29 - 0
Assets/Res/HeroAnimtion/Hero02_library.asset

@@ -173,6 +173,7 @@ MonoBehaviour:
     - {fileID: -1401227005897068272}
     - {fileID: -2105887236420780568}
     - {fileID: -3877112560210374695}
+    - {fileID: 3578840217490985036}
     _Modifiers:
     - _From: 0
       _To: 2
@@ -182,3 +183,31 @@ MonoBehaviour:
       _Fade: 0
     _Aliases: []
     _AliasAllTransitions: 0
+--- !u!114 &3578840217490985036
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5a8877f26e7a6a43aaf06fade1a064a, type: 3}
+  m_Name: RollBWD_Battle_InPlace_SwordAndShield
+  m_EditorClassIdentifier: 
+  _Transition:
+    rid: 6156714584335187971
+  references:
+    version: 2
+    RefIds:
+    - rid: 6156714584335187971
+      type: {class: ClipTransition, ns: Animancer, asm: Kybernetik.Animancer}
+      data:
+        _FadeDuration: 0.25
+        _Speed: 1
+        _Events:
+          _NormalizedTimes: []
+          _Callbacks: []
+          _Names: []
+        _Clip: {fileID: 1827226128182048838, guid: 03e7b9c42e25e6c4f89acb40263d29f9, type: 3}
+        _NormalizedStartTime: NaN

+ 29 - 0
Assets/Res/HeroAnimtion/Hero03_library.asset

@@ -28,6 +28,34 @@ MonoBehaviour:
           _Names: []
         _Clip: {fileID: 1827226128182048838, guid: f8e3ccf20d4f8ab4fba19fa0469d4b4d, type: 3}
         _NormalizedStartTime: NaN
+--- !u!114 &-8693759471711124066
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5a8877f26e7a6a43aaf06fade1a064a, type: 3}
+  m_Name: RollBWD_Battle_InPlace_SwordAndShield
+  m_EditorClassIdentifier: 
+  _Transition:
+    rid: 6156714584335187972
+  references:
+    version: 2
+    RefIds:
+    - rid: 6156714584335187972
+      type: {class: ClipTransition, ns: Animancer, asm: Kybernetik.Animancer}
+      data:
+        _FadeDuration: 0.25
+        _Speed: 1
+        _Events:
+          _NormalizedTimes: []
+          _Callbacks: []
+          _Names: []
+        _Clip: {fileID: 1827226128182048838, guid: 03e7b9c42e25e6c4f89acb40263d29f9, type: 3}
+        _NormalizedStartTime: NaN
 --- !u!114 &-5827242348574449950
 MonoBehaviour:
   m_ObjectHideFlags: 17
@@ -89,6 +117,7 @@ MonoBehaviour:
     - {fileID: 2952580267153325199}
     - {fileID: -5627690267219994143}
     - {fileID: -9192171538510261934}
+    - {fileID: -8693759471711124066}
     _Modifiers: []
     _Aliases: []
     _AliasAllTransitions: 0

+ 29 - 0
Assets/Res/HeroAnimtion/Hero04_library.asset

@@ -103,6 +103,7 @@ MonoBehaviour:
     - {fileID: -7572656260908738478}
     - {fileID: 3263211012213732882}
     - {fileID: 6845602817871315611}
+    - {fileID: 4211541484706168499}
     _Modifiers:
     - _From: 0
       _To: 2
@@ -154,6 +155,34 @@ MonoBehaviour:
           _Names: []
         _Clip: {fileID: 1827226128182048838, guid: c30a39885afd285409e96018ca99f69f, type: 3}
         _NormalizedStartTime: NaN
+--- !u!114 &4211541484706168499
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5a8877f26e7a6a43aaf06fade1a064a, type: 3}
+  m_Name: RollBWD_Battle_InPlace_SwordAndShield
+  m_EditorClassIdentifier: 
+  _Transition:
+    rid: 6156714584335187973
+  references:
+    version: 2
+    RefIds:
+    - rid: 6156714584335187973
+      type: {class: ClipTransition, ns: Animancer, asm: Kybernetik.Animancer}
+      data:
+        _FadeDuration: 0.25
+        _Speed: 1
+        _Events:
+          _NormalizedTimes: []
+          _Callbacks: []
+          _Names: []
+        _Clip: {fileID: 1827226128182048838, guid: 03e7b9c42e25e6c4f89acb40263d29f9, type: 3}
+        _NormalizedStartTime: NaN
 --- !u!114 &6845602817871315611
 MonoBehaviour:
   m_ObjectHideFlags: 0

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/Res/TimeLineAssets/Hero01_TD.txt


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/Res/TimeLineAssets/Hero02_TD.txt


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/Res/TimeLineAssets/Hero03_TD.txt


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/Res/TimeLineAssets/Hero04_TD.txt


+ 423 - 60
Assets/Scenes/testCombat.scene

@@ -124,6 +124,423 @@ NavMeshSettings:
     debug:
       m_Flags: 0
   m_NavMeshData: {fileID: 0}
+--- !u!1 &376281604
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 376281607}
+  - component: {fileID: 376281606}
+  - component: {fileID: 376281605}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &376281605
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 376281604}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Version: 3
+  m_UsePipelineSettings: 1
+  m_AdditionalLightsShadowResolutionTier: 2
+  m_LightLayerMask: 1
+  m_RenderingLayers: 1
+  m_CustomShadowLayers: 0
+  m_ShadowLayerMask: 1
+  m_ShadowRenderingLayers: 1
+  m_LightCookieSize: {x: 1, y: 1}
+  m_LightCookieOffset: {x: 0, y: 0}
+  m_SoftShadowQuality: 0
+--- !u!108 &376281606
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 376281604}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 0.589
+    m_Bias: 0
+    m_NormalBias: 0
+    m_NearPlane: 0.1
+    m_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+  m_UseOcclusionCulling: 1
+--- !u!4 &376281607
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 376281604}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1001 &646309636
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2752559100150043988, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7876193226129309935, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_Name
+      value: Chapter01
+      objectReference: {fileID: 0}
+    - target: {fileID: 7876193226129309935, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+      propertyPath: m_IsActive
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 343b9f4c52e0c3a42ab034b985fbe3a7, type: 3}
+--- !u!1 &852523981
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 852523982}
+  - component: {fileID: 852523986}
+  - component: {fileID: 852523985}
+  - component: {fileID: 852523984}
+  - component: {fileID: 852523983}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &852523982
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 852523981}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0.38268343, y: -0, z: -0, w: 0.92387956}
+  m_LocalPosition: {x: 0, y: 10.77, z: -10.77}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 855042511}
+  m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0}
+--- !u!114 &852523983
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 852523981}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 979955b7cbad63f4dbdb0c30ea8679f1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  camera: {fileID: 852523986}
+--- !u!114 &852523984
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 852523981}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_RenderShadows: 1
+  m_RequiresDepthTextureOption: 2
+  m_RequiresOpaqueTextureOption: 2
+  m_CameraType: 0
+  m_Cameras: []
+  m_RendererIndex: -1
+  m_VolumeLayerMask:
+    serializedVersion: 2
+    m_Bits: 1
+  m_VolumeTrigger: {fileID: 0}
+  m_VolumeFrameworkUpdateModeOption: 2
+  m_RenderPostProcessing: 0
+  m_Antialiasing: 0
+  m_AntialiasingQuality: 2
+  m_StopNaN: 0
+  m_Dithering: 0
+  m_ClearDepth: 1
+  m_AllowXRRendering: 1
+  m_AllowHDROutput: 1
+  m_UseScreenCoordOverride: 0
+  m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+  m_RequiresDepthTexture: 0
+  m_RequiresColorTexture: 0
+  m_Version: 2
+  m_TaaSettings:
+    m_Quality: 3
+    m_FrameInfluence: 0.1
+    m_JitterScale: 1
+    m_MipBias: 0
+    m_VarianceClampScale: 0.9
+    m_ContrastAdaptiveSharpening: 0
+--- !u!81 &852523985
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 852523981}
+  m_Enabled: 1
+--- !u!20 &852523986
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 852523981}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_Iso: 200
+  m_ShutterSpeed: 0.005
+  m_Aperture: 16
+  m_FocusDistance: 10
+  m_FocalLength: 50
+  m_BladeCount: 5
+  m_Curvature: {x: 2, y: 11}
+  m_BarrelClipping: 0.25
+  m_Anamorphism: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 40
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_enableGDRP: 1
+  m_backfaceCulling: 0
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!1 &855042509
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 855042511}
+  - component: {fileID: 855042510}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: CombatRoot (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &855042510
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 855042509}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e1ee1c62c905bb24ea7c9cf3d9d40b56, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  trauma: 0
+  TraumaExponent: 1
+  MaximumAngularShake: {x: 5, y: 5, z: 5}
+  MaximumTranslationShake: {x: 0.75, y: 0.75, z: 0.75}
+--- !u!4 &855042511
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 855042509}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
+  m_LocalPosition: {x: 24.1, y: 12.5, z: 25.6}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 852523982}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
+--- !u!1 &1168356867
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1168356868}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1168356868
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1168356867}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 3.6356623, y: -1.1561301, z: 0.24301217}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1421949364
 GameObject:
   m_ObjectHideFlags: 0
@@ -154,8 +571,8 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 72b9dd5ad46807849b93ecfaf88c1343, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  BundleLoadType: 2
-  h5Url: http://42.192.110.229/WY/Bundle/
+  BundleLoadType: 0
+  h5Url: https://resource.shenyuan.tianjiee.com/xy001/Bundle/
 --- !u!4 &1421949366
 Transform:
   m_ObjectHideFlags: 0
@@ -292,67 +709,13 @@ Transform:
   m_Children: []
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1001 &1918124035
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    serializedVersion: 3
-    m_TransformParent: {fileID: 0}
-    m_Modifications:
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -2.7748141
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 0.95059115
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: -0.9411274
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 386538483028777619, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 587608685958236013, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
-      propertyPath: m_Name
-      value: TestCombatScenes
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-    m_RemovedGameObjects: []
-    m_AddedGameObjects: []
-    m_AddedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: dccd88c417dbceb4ab468539639d4b7d, type: 3}
 --- !u!1660057539 &9223372036854775807
 SceneRoots:
   m_ObjectHideFlags: 0
   m_Roots:
   - {fileID: 1421949366}
   - {fileID: 1509080106}
-  - {fileID: 1918124035}
+  - {fileID: 376281607}
+  - {fileID: 855042511}
+  - {fileID: 646309636}
+  - {fileID: 1168356868}

BIN
Assets/Scenes/testCombat/NavMesh-Chapter01 1.asset


+ 8 - 0
Assets/Scenes/testCombat/NavMesh-Chapter01 1.asset.meta

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

BIN
Assets/Scenes/testCombat/NavMesh-Chapter01 2.asset


+ 8 - 0
Assets/Scenes/testCombat/NavMesh-Chapter01 2.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: D3gctyKpAXJSaosQEIY94m1Pfc8sNqTSqM+5ER/3DnAKibSYYF2ZVnk=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 23800000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Scenes/testCombat/NavMesh-Chapter01 3.asset


+ 8 - 0
Assets/Scenes/testCombat/NavMesh-Chapter01 3.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: WixO5C6tASge1UmmlG0958UZHp6LHtM/8f/56QbwCXxRFkbfUqH+Arw=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 23800000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Scenes/testCombat/NavMesh-Chapter01 4.asset


+ 8 - 0
Assets/Scenes/testCombat/NavMesh-Chapter01 4.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Wy5JvXmvVi4vLzONLTq2cYItmMXEoHe+Or+KSHIV0/5DKWXCHrdp98s=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 23800000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Scenes/testCombat/NavMesh-Chapter01 5.asset


+ 8 - 0
Assets/Scenes/testCombat/NavMesh-Chapter01 5.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DCxL4SuoUXg2CgI7o+uKC8x48rDd31yNNRS13npn55PO9JBaU4/x3CY=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 23800000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Scenes/testCombat/NavMesh-Chapter01 6.asset


+ 8 - 0
Assets/Scenes/testCombat/NavMesh-Chapter01 6.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XXxK4S+vWn40wIFAmZF849hJKsh/jp0jbqRx4PrnsYW2ml4Ewe6ZY8U=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 23800000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Scenes/testCombat/NavMesh-Chapter01.asset


+ 8 - 0
Assets/Scenes/testCombat/NavMesh-Chapter01.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: W3Mb5yyqAC/2CG5pZ8fMES/l/iT0QNgSRD5OfFvu1bOEdlnv5JDFARQ=
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 23800000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 14 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/AlertTriggerEventData.cs

@@ -0,0 +1,14 @@
+using Core.Utility.Event;
+using UnityEngine;
+
+namespace Common.Utility.CombatEvent
+{
+    public class AlertTriggerEventData : EventDataBasic<AlertTriggerEventData>
+    {
+        public CombatHeroEntity attackEntity;
+        public CombatHeroEntity combatHeroEntity;
+        public Collider collider;
+        public GameObject triggerObject;
+        public bool isTrigger;
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/AlertTriggerEventData.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 30c7bc7f78184b9b8c6cbf1b38fcb0ee
+timeCreated: 1731566248

+ 4 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/CombatEventType.cs

@@ -8,5 +8,9 @@
         HeroHpUpdate,
         HarmUpdate,
         CameraShake,
+        /// <summary>
+        /// 预警触发
+        /// </summary>
+        AlertTrigger,
     }
 }

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

@@ -48,7 +48,8 @@ namespace GameLogic.Combat.CombatTool
                 }
 
                 p /= combatHeroEntities.Length;
-                root.position = Vector3.Lerp(root.position, new Vector3(p.x, root.position.y, p.z - 7), 0.3f);
+                // Vector3 tp = root.TransformVector(new Vector3(0, 0, -20));
+                root.position = Vector3.Lerp(root.position, new Vector3(p.x, root.position.y,  p.z+13), 0.3f);
             }
         }
 

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

@@ -36,12 +36,12 @@ namespace GameLogic.Combat.CombatTool
             stateControl.AddState("idle", new CombatIdleState(this));
             stateControl.AddState("update", new CombatUpdateState(this));
             scenesHandle =
-                await AssetBundleLoadManager.Instance.LoadAssetAsyncTask<GameObject>("TestCombatScenes.prefab");
+                await AssetBundleLoadManager.Instance.LoadAssetAsyncTask<GameObject>("Chapter01.prefab");
             gameObject = scenesHandle.AssetObject<GameObject>();
             gameObject.SetActive(true);
 
 
-            Camera camera = gameObject.transform.GetComponentInChildren<Camera>();
+            Camera camera = Camera.main;
             CombatCameraControllder = new CombatCameraControllder();
             CombatCameraControllder.Init(this, camera);
 

+ 2 - 2
Assets/Scripts/GameLogic/Combat/CombatType/TestCombatType.cs

@@ -72,9 +72,9 @@ namespace GameLogic.Combat.CombatType
                         delegate(CombatHeroEntity entity)
                         {
                             combatController.CombatHeroController.AddHero(entity);
-                            heroEntity.combatHeroGameObject.SetPosition(nextConfig.heroStartPos.position);
+                            heroEntity.combatHeroGameObject.SetPosition(_combatScenesConfig.heroPoint[index].position);
                         }));
-                    break;
+                
                 }
             }
         }

+ 45 - 3
Assets/Scripts/GameLogic/Combat/Hero/CombatAIBasic.cs

@@ -1,7 +1,9 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using Common.Utility.CombatEvent;
 using Core.State;
+using Fort23.Core;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
 using GameLogic.Combat.Hero.State;
@@ -21,12 +23,37 @@ public class CombatAIBasic : IDisposable
     /// </summary>
     public CombatHeroEntity currFocusTarget;
 
+
+    private BetterList<GameObject> _areaList = new BetterList<GameObject>();
+
     public void Init(CombatHeroEntity combatHeroEntity, NavMeshAgent navMeshAgent)
     {
+        CombatEventManager.Instance.AddEventListener(CombatEventType.AlertTrigger, AlertTrigger);
         _combatHeroEntity = combatHeroEntity;
         stateControl = new StateControl();
         NavMeshAgent = navMeshAgent;
         ProInitState();
+        ProInit();
+    }
+
+    protected virtual void ProInit()
+    {
+    }
+
+    protected void AlertTrigger(IEventData iEventData)
+    {
+        AlertTriggerEventData alertTriggerEventData = iEventData as AlertTriggerEventData;
+        if (alertTriggerEventData.combatHeroEntity == _combatHeroEntity)
+        {
+            if (alertTriggerEventData.isTrigger && _areaList.Contains(alertTriggerEventData.triggerObject))
+            {
+                _areaList.Add(alertTriggerEventData.triggerObject);
+            }
+            else if (!alertTriggerEventData.isTrigger)
+            {
+                _areaList.Remove(alertTriggerEventData.triggerObject);
+            }
+        }
     }
 
     protected void ProInitState()
@@ -35,6 +62,7 @@ public class CombatAIBasic : IDisposable
         stateControl.AddState(CombatHeroStateType.move, new CombatHeroMoveState(_combatHeroEntity));
         stateControl.AddState(CombatHeroStateType.att, new CombatHeroAttState(_combatHeroEntity));
         stateControl.AddState(CombatHeroStateType.dile, new CombatHeroDieState(_combatHeroEntity));
+        stateControl.AddState(CombatHeroStateType.rolling, new CombatHeroRollingState(_combatHeroEntity));
     }
 
     public void ChangeState(string name)
@@ -62,6 +90,12 @@ public class CombatAIBasic : IDisposable
                 }
             }
         }
+
+        ProUpdate();
+    }
+
+    protected virtual void ProUpdate()
+    {
     }
 
     protected void FindMinDixtance(CombatHeroEntity[] allHero, out CombatHeroEntity minDistanceHero)
@@ -80,17 +114,25 @@ public class CombatAIBasic : IDisposable
                 _combatHeroEntity.combatHeroGameObject.position);
             if (distance < minDistance)
             {
-                minDistance = distance;
-                minDistanceHero = hero;
+                if (!_combatHeroEntity.IsEnemy || distance < _combatHeroEntity.CurrCombatHeroInfo.maxDis + 3)
+                {
+                    minDistance = distance;
+                    minDistanceHero = hero;
+                }
             }
         }
     }
 
     public void Dispose()
     {
-        // NavMeshAgent.enabled = false;
+        ProDispose();
         _combatHeroEntity = null;
         stateControl.Dispose();
         stateControl = null;
     }
+
+    protected virtual void ProDispose()
+    {
+        CombatEventManager.Instance.RemoveEventListener(CombatEventType.AlertTrigger, AlertTrigger);
+    }
 }

+ 12 - 0
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroAi.cs

@@ -0,0 +1,12 @@
+using Common.Utility.CombatEvent;
+
+namespace GameLogic.Combat.Hero
+{
+    public class CombatHeroAi : CombatAIBasic
+    {
+        protected override void ProInit()
+        {
+          
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroAi.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f5a612db3bd14f548b8fc7ca1509ddcd
+timeCreated: 1731566517

+ 1 - 0
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroStateType.cs

@@ -6,5 +6,6 @@ namespace GameLogic.Combat.Hero
         public static readonly string att = "att";
         public static readonly string move = "move";
         public static readonly string dile = "dile";
+        public static readonly string rolling = "rolling";
     }
 }

+ 7 - 2
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroIdleState.cs

@@ -22,6 +22,7 @@ namespace GameLogic.Combat.Hero.State
                 return;
             }
 
+            
             Vector3 targetPos = combatHeroEntity.CombatAIBasic.currFocusTarget.dotPos;
             Vector3 myPos = combatHeroEntity.dotPos;
             if (Vector3.SqrMagnitude(targetPos-myPos) > combatHeroEntity.CurrCombatHeroInfo.maxDisTo)
@@ -30,10 +31,14 @@ namespace GameLogic.Combat.Hero.State
             }
             else
             {
-                if (combatHeroEntity.CombatHeroSkillControl.CanReleaseSkill() != null)
+                if (!combatHeroEntity.IsEnemy)
                 {
-                    combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.att);
+                    combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.rolling);
                 }
+                // if (combatHeroEntity.CombatHeroSkillControl.CanReleaseSkill() != null)
+                // {
+                //     combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.att);
+                // }
             }
         }
     }

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroMoveState.cs

@@ -14,7 +14,7 @@ namespace GameLogic.Combat.Hero.State
 
         protected override void ProEnter()
         {
-            lasetTaregtPoint = Vector3.zero;
+            lasetTaregtPoint = new Vector3(999999,99999,99999);
             combatHeroEntity.combatHeroAnimtion.Play("run");
             combatHeroEntity.CombatAIBasic.NavMeshAgent.updateRotation = false;
             combatHeroEntity.CombatAIBasic.NavMeshAgent.isStopped = true;

+ 67 - 0
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroRollingState.cs

@@ -0,0 +1,67 @@
+using System;
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using CombatLibrary.CombatLibrary.CombatCore.Utility;
+using Fort23.UTool;
+using Unity.AI.Navigation;
+using UnityEngine;
+using UnityEngine.AI;
+
+namespace GameLogic.Combat.Hero.State
+{
+    public class CombatHeroRollingState : CombatHeroStateBasic
+    {
+        protected float speed = 3;
+        protected float dis = 2;
+
+        private float _currTime;
+        private Vector3 targetPos;
+        private Vector3 startPos;
+
+        protected ACurve ACurve;
+        public CombatHeroRollingState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
+        {
+        }
+
+        protected override void ProEnter()
+        {
+            combatHeroEntity.combatHeroAnimtion.Play("idle");
+
+            TimeLineEventLogicGroupBasic timeLineEventLogicGroup =
+                combatHeroEntity.combatHeroTimeLineControl.TimeLineData
+                    .GetTimeLineEventLogicGroup<TimeLineEventLogicGroupBasic>("fangun1", null);
+            try
+            {
+                timeLineEventLogicGroup.SetCombatInfo(combatHeroEntity, null, null, new TriggerData(), null);
+                combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup);
+            }
+            catch (Exception e)
+            {
+                LogTool.Error(e);
+            }
+
+            ACurve=   combatHeroEntity.combatHeroTimeLineControl.TimeLineData.GetTimeLineEventACurve("fangun1", "fangun", null);
+            startPos = combatHeroEntity.dotPos;
+            targetPos = startPos + combatHeroEntity.combatHeroGameObject.rotation * new Vector3(0, 0, -dis);
+            _currTime = 0;
+        }
+
+        protected override void ProUpdate(float t)
+        {
+            _currTime += t * speed;
+            Vector3 moveToTarget = Vector3.Lerp(startPos, targetPos, ACurve.Evaluate(_currTime));
+
+
+            combatHeroEntity.CombatAIBasic.NavMeshAgent.Raycast(moveToTarget, out NavMeshHit hit);
+            if (!hit.hit)
+            {
+                combatHeroEntity.combatHeroGameObject.SetPosition(moveToTarget);
+            }
+
+            if (_currTime >= 1)
+            {
+                combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
+                return;
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroRollingState.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1aeb2302ed724af18081b26482edfc11
+timeCreated: 1731568493

+ 81 - 6
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -3,11 +3,13 @@ using System.Collections.Generic;
 using CombatCore.SerializationTimeLine;
 using CombatLibrary.CombatLibrary.CombatCore;
 using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using Common.Utility.CombatEvent;
 using Excel2Json;
 using Fort23.Common;
 using Fort23.UTool;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
+using GameLogic.CombatScenesTool;
 using UnityEngine;
 using Utility;
 using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
@@ -16,7 +18,7 @@ using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic;
 namespace GameLogic.Combat.Skill
 {
     public abstract class SkillBasic : IDisposable, ITimeLineTriggerEntity, ITimeLineEndSing, ITimeLineTargetEntity,
-        ITimeLineTriggerEvent
+        ITimeLineTriggerEvent, ITimeLineAlertTargetEnter
     {
         public int skillGuid;
 
@@ -67,7 +69,6 @@ namespace GameLogic.Combat.Skill
         /// </summary>
         public CombatHeroEntity currFocusTarget;
 
-    
 
         /// <summary>
         /// 激活的timelinegoup名字
@@ -81,7 +82,7 @@ namespace GameLogic.Combat.Skill
         /// </summary>
         protected string _finishTimeLineGroupName;
 
-
+        protected BetterList<CombatHeroEntity> _enterAlertTarget = new BetterList<CombatHeroEntity>();
         protected BetterList<ILifetCycleHitPoint> _currUseSkillTarget = new BetterList<ILifetCycleHitPoint>();
         protected bool _isEarlyWarning;
 
@@ -186,15 +187,15 @@ namespace GameLogic.Combat.Skill
 
         protected virtual void EarlyWarning()
         {
-            
         }
+
         public HarmReturnInfo Harm(CombatHeroEntity source, CombatHeroHitPoint target, long att, AttType attType,
             TriggerData triggerData, HarmType harmType = HarmType.Null)
         {
             return CombatCalculateTool.Instance.Harm(source, target, att, attType, triggerData,
-                harmType );
+                harmType);
         }
-        
+
         // public HarmReturnInfo Recover(CombatHeroEntity source, CombatHeroHitPoint target, long att,
         //     AttType attType, HarmType harmType)
         // {
@@ -213,6 +214,7 @@ namespace GameLogic.Combat.Skill
         /// </summary>
         public void UseSkill()
         {
+            _enterAlertTarget.Clear();
             UseCount++;
             _triggerData = new TriggerData();
             isUse = true;
@@ -589,5 +591,78 @@ namespace GameLogic.Combat.Skill
             TriggerData triggerData)
         {
         }
+
+        public void InitAlert(TimeLineAlertSeriailztion timeLineAlertSeriailztion,GameObject gameObject)
+        {
+            CombatAlertManager.Instance.AddAlert(gameObject, _combatHeroEntity);
+        }
+
+        public void LeaveAlert(TimeLineAlertSeriailztion timeLineAlertSeriailztion,GameObject gameObject)
+        {
+            CombatAlertManager.Instance.RemoveAlert(gameObject);
+        }
+
+        public void Enter(TimeLineAlertSeriailztion timeLineAlertSeriailztion, Collider collider)
+        {
+            HeroEntityMono heroEntityMono = collider.gameObject.GetComponent<HeroEntityMono>();
+            if (heroEntityMono == null)
+            {
+                return;
+            }
+
+            CombatHeroEntity target = heroEntityMono.combatHeroEntity;
+            if (target.IsEnemy && !timeLineAlertSeriailztion.isFindEnemy ||
+                !target.IsEnemy && !timeLineAlertSeriailztion.isFindMyHero)
+            {
+                return;
+            }
+
+            if (_enterAlertTarget.Contains(target))
+            {
+                return;
+            }
+
+            _enterAlertTarget.Add(target);
+            if (timeLineAlertSeriailztion.alertType == TimeLineAlertSeriailztion.TimeLineAlertType.Dangerous)
+            {
+                AlertTriggerEventData alertTriggerEventData = AlertTriggerEventData.Create();
+                alertTriggerEventData.combatHeroEntity = target;
+                alertTriggerEventData.attackEntity = _combatHeroEntity;
+                alertTriggerEventData.collider = collider;
+                alertTriggerEventData.isTrigger = true;
+                CombatEventManager.Instance.Dispatch(CombatEventType.AlertTrigger, alertTriggerEventData);
+            }
+        }
+
+        public void Leave(TimeLineAlertSeriailztion timeLineAlertSeriailztion, Collider collider)
+        {
+            HeroEntityMono heroEntityMono = collider.gameObject.GetComponent<HeroEntityMono>();
+            if (heroEntityMono == null)
+            {
+                return;
+            }
+
+            CombatHeroEntity target = heroEntityMono.combatHeroEntity;
+            if (target.IsEnemy == CombatHeroEntity.IsEnemy)
+            {
+                return;
+            }
+
+            if (!_enterAlertTarget.Contains(target))
+            {
+                return;
+            }
+
+            _enterAlertTarget.Remove(target);
+            if (timeLineAlertSeriailztion.alertType == TimeLineAlertSeriailztion.TimeLineAlertType.Dangerous)
+            {
+                AlertTriggerEventData alertTriggerEventData = AlertTriggerEventData.Create();
+                alertTriggerEventData.combatHeroEntity = target;
+                alertTriggerEventData.attackEntity = _combatHeroEntity;
+                alertTriggerEventData.collider = collider;
+                alertTriggerEventData.isTrigger = false;
+                CombatEventManager.Instance.Dispatch(CombatEventType.AlertTrigger, alertTriggerEventData);
+            }
+        }
     }
 }

+ 38 - 0
Assets/Scripts/GameLogic/CombatScenesTool/CombatAlertManager.cs

@@ -0,0 +1,38 @@
+using UnityEngine;
+using Utility;
+
+namespace GameLogic.CombatScenesTool
+{
+    public class CombatAlertManager : Singleton<CombatAlertManager>
+    {
+        public BetterList<AlertBuffer> alertList = new BetterList<AlertBuffer>();
+
+        public class AlertBuffer
+        {
+            public GameObject GameObject;
+            public Collider realCollider;
+            public CombatHeroEntity targetEntity;
+        }
+
+        public void AddAlert(GameObject gameObject, CombatHeroEntity targetEntity)
+        {
+            AlertBuffer alertBuffer = new AlertBuffer();
+            alertBuffer.GameObject = gameObject;
+            alertBuffer.realCollider = gameObject.GetComponent<Collider>();
+            alertBuffer.targetEntity = targetEntity;
+            alertList.Add(alertBuffer);
+        }
+
+        public void RemoveAlert(GameObject gameObject)
+        {
+            for (int i = 0; i < alertList.Count; i++)
+            {
+                if (alertList[i].GameObject == gameObject)
+                {
+                    alertList.RemoveAt(i);
+                    return;
+                }
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/CombatScenesTool/CombatAlertManager.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: cfa97be907ff46d885b4b0697e2e2bd3
+timeCreated: 1731567060

+ 1 - 0
Assets/Scripts/GameLogic/CombatScenesTool/CombatScenesConfig.cs

@@ -4,6 +4,7 @@ namespace GameLogic.CombatScenesTool
 {
     public class CombatScenesConfig : MonoBehaviour
     {
+        public Transform[] heroPoint;
         public CombatScenesNodeConfig[] allNodeConfig;
     }
 }

+ 1 - 1
Assets/Scripts/GameLogic/CombatScenesTool/CombatScenesNodeConfig.cs

@@ -8,6 +8,6 @@ namespace GameLogic.CombatScenesTool
     public class CombatScenesNodeConfig : MonoBehaviour
     {
         public Transform[] monsterPoint;
-        public Transform heroStartPos;
+        // public Transform heroStartPos;
     }
 }

+ 3 - 0
Assets/Scripts/GameTimeLine/CustomizeTime/TimeLineAlertAsset.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 68018f658b0b4ceabecac0a04bc306a6
+timeCreated: 1731563880

+ 14 - 0
Assets/Scripts/GameTimeLine/CustomizeTime/TimeLineAlertAsset/TimeLineAlertAsset.cs

@@ -0,0 +1,14 @@
+using UnityEngine;
+
+
+public class TimeLineAlertAsset : CustomizePlayableAsset
+{
+    // [SerializeField] [Header("预警区域")] public ExposedReference<GameObject> GameObject;
+    [Header("预警区域GUID")] public string pointGuid;
+    [Header("预警类型")] public TimeLineAlertSeriailztion.TimeLineAlertType alertType;
+    [Header("查找敌人")] public bool isFindEnemy = true;
+    [Header("查找队友")] public bool isFindMyHero;
+
+    [Header("前方角度")] public float angle;
+    // [Header("开始点GUID(英雄上的点,可以不填)")] public string startPosGuid;
+}

+ 3 - 0
Assets/Scripts/GameTimeLine/CustomizeTime/TimeLineAlertAsset/TimeLineAlertAsset.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c6efd434afc04c57ae511509bd0f10de
+timeCreated: 1731563895

+ 109 - 0
Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventLogic/TimeLineAlertLogic.cs

@@ -0,0 +1,109 @@
+using Core.Triiger;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic
+{
+    public class TimeLineAlertLogic : TimeLineEventLogicBasic
+    {
+        private IUnRegister _enterRegister;
+        private IUnRegister _exitRegister;
+
+        protected override void ProSetCombatInfo()
+        {
+        }
+
+        protected override void ProEnter()
+        {
+            TimeLineAlertSeriailztion timeLineAlertSeriailztion =
+                mTimeLineAssetSerialization as TimeLineAlertSeriailztion;
+            if (!string.IsNullOrEmpty(timeLineAlertSeriailztion.guid))
+            {
+                SpecialDotInfo specialDotInfo = castEntity.GetMainHotPoin<ILifetCycleHitPoint>(true)
+                    .GetSpecialDotInfo(timeLineAlertSeriailztion.guid);
+                _enterRegister = specialDotInfo.targetTran.gameObject.OnTriggerEnterEvent(OnTriggerEnterEvent);
+                _exitRegister = specialDotInfo.targetTran.gameObject.OnTriggerExitEvent(OnTriggerExitEvent);
+                ITimeLineAlertTargetEnter timeLineAlertTarget =
+                    _timeLineTriggerEntity as ITimeLineAlertTargetEnter;
+                if (timeLineAlertTarget != null)
+                {
+                    timeLineAlertTarget.InitAlert(timeLineAlertSeriailztion,specialDotInfo.targetTran.gameObject);
+                }
+            }
+        }
+
+        protected void OnTriggerEnterEvent(Collider collider)
+        {
+            TimeLineAlertSeriailztion timeLineAlertSeriailztion =
+                mTimeLineAssetSerialization as TimeLineAlertSeriailztion;
+            ITimeLineAlertTargetEnter timeLineAlertTarget =
+                _timeLineTriggerEntity as ITimeLineAlertTargetEnter;
+            if (timeLineAlertTarget != null)
+            {
+                timeLineAlertTarget.Enter(timeLineAlertSeriailztion, collider);
+            }
+        }
+
+        protected void OnTriggerExitEvent(Collider collider)
+        {
+            TimeLineAlertSeriailztion timeLineAlertSeriailztion =
+                mTimeLineAssetSerialization as TimeLineAlertSeriailztion;
+            ITimeLineAlertTargetEnter timeLineAlertTarget =
+                _timeLineTriggerEntity as ITimeLineAlertTargetEnter;
+            if (timeLineAlertTarget != null)
+            {
+                timeLineAlertTarget.Leave(timeLineAlertSeriailztion, collider);
+            }
+        }
+
+        protected override void ProLeave()
+        {
+            TimeLineAlertSeriailztion timeLineAlertSeriailztion =
+                mTimeLineAssetSerialization as TimeLineAlertSeriailztion;
+            if (!string.IsNullOrEmpty(timeLineAlertSeriailztion.guid))
+            {
+                SpecialDotInfo specialDotInfo = castEntity.GetMainHotPoin<ILifetCycleHitPoint>(true)
+                    .GetSpecialDotInfo(timeLineAlertSeriailztion.guid);
+                specialDotInfo.targetTran.gameObject.SetActive(false);
+                ITimeLineAlertTargetEnter timeLineAlertTarget =
+                    _timeLineTriggerEntity as ITimeLineAlertTargetEnter;
+                if (timeLineAlertTarget != null)
+                {
+                    timeLineAlertTarget.LeaveAlert(timeLineAlertSeriailztion,specialDotInfo.targetTran.gameObject);
+                }
+            }
+
+            _enterRegister?.UnRegister();
+            _exitRegister?.UnRegister();
+        }
+
+        protected override void ProTimeUpdate()
+        {
+        }
+
+        protected override void ProBreakTimeLine()
+        {
+            TimeLineAlertSeriailztion timeLineAlertSeriailztion =
+                mTimeLineAssetSerialization as TimeLineAlertSeriailztion;
+            if (!string.IsNullOrEmpty(timeLineAlertSeriailztion.guid))
+            {
+                SpecialDotInfo specialDotInfo = castEntity.GetMainHotPoin<ILifetCycleHitPoint>(true)
+                    .GetSpecialDotInfo(timeLineAlertSeriailztion.guid);
+                specialDotInfo.targetTran.gameObject.SetActive(false);
+                ITimeLineAlertTargetEnter timeLineAlertTarget =
+                    _timeLineTriggerEntity as ITimeLineAlertTargetEnter;
+                if (timeLineAlertTarget != null)
+                {
+                    timeLineAlertTarget.LeaveAlert(timeLineAlertSeriailztion,specialDotInfo.targetTran.gameObject);
+                }
+            }
+
+            _enterRegister?.UnRegister();
+            _exitRegister?.UnRegister();
+        }
+
+        protected override void ProDispose()
+        {
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventLogic/TimeLineAlertLogic.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 2aeb02e3f6ae4095a4e3cb01aad48841
+timeCreated: 1731564397

+ 12 - 0
Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventinterface/ITimeLineAlertTargetEnter.cs

@@ -0,0 +1,12 @@
+using UnityEngine;
+
+namespace UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface
+{
+    public interface ITimeLineAlertTargetEnter
+    {
+        void InitAlert(TimeLineAlertSeriailztion timeLineAlertSeriailztion, GameObject gameObject);
+        void LeaveAlert(TimeLineAlertSeriailztion timeLineAlertSeriailztion, GameObject gameObject);
+        void Enter(TimeLineAlertSeriailztion timeLineAlertSeriailztion, Collider collider);
+        void Leave(TimeLineAlertSeriailztion timeLineAlertSeriailztion, Collider collider);
+    }
+}

+ 3 - 0
Assets/Scripts/GameTimeLine/CustomizeTimeLogic/FxLogic/TimeLineEventinterface/ITimeLineAlertTargetEnter.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: a6077affc0274f47a3f3776f0b672a04
+timeCreated: 1731564739

+ 48 - 0
Assets/Scripts/GameTimeLine/SerializationTimeLine/TimeLineSerialization/TimeLineAlertSeriailztion.cs

@@ -0,0 +1,48 @@
+using UnityEngine.Playables;
+using UnityEngine.Timeline;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic;
+
+[System.Serializable]
+public class TimeLineAlertSeriailztion : TimeLineAssetSerialization
+{
+    public string guid;
+    public float angle;
+    public bool isFindEnemy;
+    public bool isFindMyHero;
+    public TimeLineAlertType alertType;
+
+    public enum TimeLineAlertType
+    {
+        /// <summary>
+        /// 默认
+        /// </summary>
+        Default,
+
+        // /// <summary>
+        // /// 危险型,玩家可以闪避
+        // /// </summary>
+        Dangerous,
+    }
+
+    // public float volume;
+    public TimeLineAlertSeriailztion()
+    {
+    }
+#if !COMBAT_SERVER
+
+    public TimeLineAlertSeriailztion(PlayableDirector playableDirector, GroupTrack groupTrack,
+        TimelineClip timelineClip) : base(groupTrack, timelineClip)
+    {
+        TimeLineAlertAsset audioPlayableAsset = timelineClip.asset as TimeLineAlertAsset;
+        guid = audioPlayableAsset.pointGuid;
+        angle = audioPlayableAsset.angle;
+        alertType = audioPlayableAsset.alertType;
+        isFindEnemy = audioPlayableAsset.isFindEnemy;
+        isFindMyHero = audioPlayableAsset.isFindMyHero;
+    }
+#endif
+    public override TimeLineEventLogicBasic CreateLogic()
+    {
+        return new TimeLineAlertLogic();
+    }
+}

+ 3 - 0
Assets/Scripts/GameTimeLine/SerializationTimeLine/TimeLineSerialization/TimeLineAlertSeriailztion.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ca290cb968044521b1507b7d13740400
+timeCreated: 1731564082

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/StreamingAssets/Bundle/MD5.txt


BIN
Assets/StreamingAssets/Bundle/UnityBundle


BIN
Assets/StreamingAssets/Bundle/albedo_t1


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
Assets/StreamingAssets/Bundle/assetConfig.txt


BIN
Assets/StreamingAssets/Bundle/bg_7riqdddi


BIN
Assets/StreamingAssets/Bundle/chapter01


+ 7 - 0
Assets/StreamingAssets/Bundle/chapter01.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CntJtX6pUXOHaXtNS4Lf9T1ICRwBk/zb4a2h4HOpd+Sj4a6bCEs4ZXc=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/StreamingAssets/Bundle/combine


BIN
Assets/StreamingAssets/Bundle/defaultpbr


BIN
Assets/StreamingAssets/Bundle/forest_ruins


+ 7 - 0
Assets/StreamingAssets/Bundle/forest_ruins.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Biga4XivBXue7pGn5pVReVGaolzoaV+sxiTNGMSAWUU4ln5UXVOuVZQ=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/StreamingAssets/Bundle/forest_ruins_t2


+ 7 - 0
Assets/StreamingAssets/Bundle/forest_ruins_t2.meta

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

BIN
Assets/StreamingAssets/Bundle/grass_01a


+ 7 - 0
Assets/StreamingAssets/Bundle/grass_01a.meta

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

BIN
Assets/StreamingAssets/Bundle/grass_01a_t5


+ 7 - 0
Assets/StreamingAssets/Bundle/grass_01a_t5.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DnpMty7+Bypp4hBgZwG9/OG8WRrzsGTTco58K2coUysccubT7sq4cdU=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/StreamingAssets/Bundle/grass_01b


+ 7 - 0
Assets/StreamingAssets/Bundle/grass_01b.meta

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

BIN
Assets/StreamingAssets/Bundle/grass_01b_t4


+ 7 - 0
Assets/StreamingAssets/Bundle/grass_01b_t4.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Di9LtS+pVC1VbD0KaU/+2eNHSYFiMtrQLtMBkMgezNcrTgbo9CoYpDc=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/StreamingAssets/Bundle/guaiwu01


BIN
Assets/StreamingAssets/Bundle/hero01


BIN
Assets/StreamingAssets/Bundle/hero01_td


BIN
Assets/StreamingAssets/Bundle/showitemmovetotargetpanel


BIN
Assets/StreamingAssets/Bundle/testcombatscenes


BIN
Assets/StreamingAssets/Bundle/tree_02_leaves_blue


+ 7 - 0
Assets/StreamingAssets/Bundle/tree_02_leaves_blue.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: WnxLvCz4US1aygXnD3DdDGIok6N3qfzVDEzXaFLgyelB+Fjw3VNOEk0=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/StreamingAssets/Bundle/tree_02_leaves_orange


+ 7 - 0
Assets/StreamingAssets/Bundle/tree_02_leaves_orange.meta

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

BIN
Assets/StreamingAssets/Bundle/tree_02_leaves_t3


+ 7 - 0
Assets/StreamingAssets/Bundle/tree_02_leaves_t3.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Wn0Zt3irBnxu4gMd4z2b/zuv21g0xVfytFp2K4GjG3Zx5gZ/6RBVYJU=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/StreamingAssets/Bundle/zhanli_0


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