Browse Source

修改bug

DESKTOP-FB72PO8\Administrator 3 months ago
parent
commit
68a96acb23

+ 138 - 72
Assets/Art/ArtHero/FaBao/fb_huohulu.prefab

@@ -82,7 +82,7 @@ Transform:
   m_LocalScale: {x: 1.05, y: 1.05, z: 1.05}
   m_ConstrainProportionsScale: 1
   m_Children: []
-  m_Father: {fileID: 882618489410363391}
+  m_Father: {fileID: 7625504205316576539}
   m_LocalEulerAnglesHint: {x: -103.812, y: 0, z: 0}
 --- !u!33 &2715878377964404402
 MeshFilter:
@@ -145,8 +145,6 @@ GameObject:
   serializedVersion: 7
   m_Component:
   - component: {fileID: 882618489410363391}
-  - component: {fileID: 9026918710491398818}
-  - component: {fileID: 7125373086071198293}
   - component: {fileID: 6268924533319359557}
   - component: {fileID: 3925811891869005109}
   m_Layer: 0
@@ -165,31 +163,147 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 4541853673269616998}
   serializedVersion: 2
-  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
-  m_LocalPosition: {x: 0.025, y: 0, z: -0.02}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -1.59, y: 0, z: -0.02}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 2177602422935005685}
-  - {fileID: 9207970923143131464}
   - {fileID: 262822844278747996}
+  - {fileID: 7625504205316576539}
   m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &6268924533319359557
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4541853673269616998}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 0.65468293, y: 0.6474176, z: 1.087989}
+  m_Center: {x: 0.000034451485, y: -0.000022992497, z: 0.060668066}
+--- !u!54 &3925811891869005109
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4541853673269616998}
+  serializedVersion: 4
+  m_Mass: 1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_CenterOfMass: {x: 0, y: 0, z: 0}
+  m_InertiaTensor: {x: 1, y: 1, z: 1}
+  m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ImplicitCom: 1
+  m_ImplicitTensor: 1
+  m_UseGravity: 1
+  m_IsKinematic: 1
+  m_Interpolate: 0
+  m_Constraints: 0
+  m_CollisionDetection: 0
+--- !u!1 &4947289284106990063
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7625504205316576539}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7625504205316576539
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4947289284106990063}
+  serializedVersion: 2
+  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: 4349960604090313730}
+  - {fileID: 2177602422935005685}
+  - {fileID: 9207970923143131464}
+  m_Father: {fileID: 882618489410363391}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &5287774579318613628
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4349960604090313730}
+  - component: {fileID: 1697736668780664202}
+  - component: {fileID: 1517786042653455297}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: fb_huohulu (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4349960604090313730
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5287774579318613628}
+  serializedVersion: 2
+  m_LocalRotation: {x: -0, y: 0.00000008940696, z: 0.93292236, w: -0.36007747}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7625504205316576539}
   m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
---- !u!33 &9026918710491398818
+--- !u!33 &1697736668780664202
 MeshFilter:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4541853673269616998}
+  m_GameObject: {fileID: 5287774579318613628}
   m_Mesh: {fileID: 1116850374654134119, guid: 9397f393520d9844e9c2dd7621826ff9, type: 3}
---- !u!23 &7125373086071198293
+--- !u!23 &1517786042653455297
 MeshRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4541853673269616998}
+  m_GameObject: {fileID: 5287774579318613628}
   m_Enabled: 1
   m_CastShadows: 0
   m_ReceiveShadows: 1
@@ -227,55 +341,7 @@ MeshRenderer:
   m_SortingLayer: 0
   m_SortingOrder: 0
   m_AdditionalVertexStreams: {fileID: 0}
---- !u!65 &6268924533319359557
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4541853673269616998}
-  m_Material: {fileID: 0}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_LayerOverridePriority: 0
-  m_IsTrigger: 1
-  m_ProvidesContacts: 0
-  m_Enabled: 1
-  serializedVersion: 3
-  m_Size: {x: 0.65468293, y: 0.6474176, z: 1.087989}
-  m_Center: {x: 0.000034451485, y: -0.000022992497, z: 0.060668066}
---- !u!54 &3925811891869005109
-Rigidbody:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4541853673269616998}
-  serializedVersion: 4
-  m_Mass: 1
-  m_Drag: 0
-  m_AngularDrag: 0.05
-  m_CenterOfMass: {x: 0, y: 0, z: 0}
-  m_InertiaTensor: {x: 1, y: 1, z: 1}
-  m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ImplicitCom: 1
-  m_ImplicitTensor: 1
-  m_UseGravity: 1
-  m_IsKinematic: 1
-  m_Interpolate: 0
-  m_Constraints: 0
-  m_CollisionDetection: 0
---- !u!1 &5950768325919410652
+--- !u!1 &6239514589972436459
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -283,9 +349,9 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 3460190463516772115}
-  - component: {fileID: 3527005753123885728}
-  - component: {fileID: 3688436011431811179}
+  - component: {fileID: 376401695443287428}
+  - component: {fileID: 7679698183410583483}
+  - component: {fileID: 5794356570360109901}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: Particle System
@@ -294,13 +360,13 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &3460190463516772115
+--- !u!4 &376401695443287428
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5950768325919410652}
+  m_GameObject: {fileID: 6239514589972436459}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -309,13 +375,13 @@ Transform:
   m_Children: []
   m_Father: {fileID: 9207970923143131464}
   m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
---- !u!198 &3527005753123885728
+--- !u!198 &7679698183410583483
 ParticleSystem:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5950768325919410652}
+  m_GameObject: {fileID: 6239514589972436459}
   serializedVersion: 8
   lengthInSec: 1
   simulationSpeed: 1
@@ -5032,14 +5098,14 @@ ParticleSystem:
         m_PostInfinity: 2
         m_RotationOrder: 4
     vectorLabel1_3: W
---- !u!199 &3688436011431811179
+--- !u!199 &5794356570360109901
 ParticleSystemRenderer:
   serializedVersion: 6
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5950768325919410652}
+  m_GameObject: {fileID: 6239514589972436459}
   m_Enabled: 1
   m_CastShadows: 0
   m_ReceiveShadows: 0
@@ -5135,13 +5201,13 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 9118155727474298335}
   serializedVersion: 2
-  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: 3460190463516772115}
-  m_Father: {fileID: 882618489410363391}
+  - {fileID: 376401695443287428}
+  m_Father: {fileID: 7625504205316576539}
   m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
 --- !u!198 &7468607257489770980
 ParticleSystem:

+ 3 - 3
Assets/Art/ArtHero/FaBao/fb_wulonghuan.prefab

@@ -149,7 +149,7 @@ GameObject:
   - component: {fileID: 23692788112144678}
   m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: fb_wulonghuan (1)
+  m_Name: root
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -163,14 +163,14 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 7032890552890811397}
   serializedVersion: 2
-  m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
+  m_LocalRotation: {x: 0.19193658, y: -0.68055886, z: -0.19193658, w: 0.68055886}
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 388465534038078043}
   m_Father: {fileID: 4638015089847156818}
-  m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: -90, z: -2191.5}
 --- !u!33 &5299816596545413093
 MeshFilter:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Art/VFX/FXMeshs/shan/New Material.mat

@@ -128,7 +128,7 @@ Material:
     - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
     - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
     - _fogColor: {r: 0.3254902, g: 0.72156864, b: 0.90196085, a: 1}
-    - _mainColor: {r: 0.2966358, g: 0.5258586, b: 0.6226415, a: 1}
+    - _mainColor: {r: 0.111739054, g: 0.21165137, b: 0.254717, a: 1}
   m_BuildTextureStacks: []
 --- !u!114 &5417556508156159764
 MonoBehaviour:

+ 194 - 128
Assets/Res/CombatHero/fb_huohulu.prefab

@@ -1,5 +1,91 @@
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &560405210989583178
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3243294651818848173}
+  - component: {fileID: 7479408829342163083}
+  - component: {fileID: 6636849591517406435}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: fb_huohulu (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3243294651818848173
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 560405210989583178}
+  serializedVersion: 2
+  m_LocalRotation: {x: -0, y: 0.00000008940696, z: 0.93292236, w: -0.36007747}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2024737807476548603}
+  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+--- !u!33 &7479408829342163083
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 560405210989583178}
+  m_Mesh: {fileID: 1116850374654134119, guid: 9397f393520d9844e9c2dd7621826ff9, type: 3}
+--- !u!23 &6636849591517406435
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 560405210989583178}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_virtualGeometry: 0
+  m_virtualGeometryShadow: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: f3d79fc4671836747af1c04171aec002, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
 --- !u!1 &2590654586827996216
 GameObject:
   m_ObjectHideFlags: 0
@@ -59,13 +145,13 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2642531690415634390}
   serializedVersion: 2
-  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: 6698441005325738426}
-  m_Father: {fileID: 6709539860230415573}
+  - {fileID: 3827836730248953605}
+  m_Father: {fileID: 2024737807476548603}
   m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
 --- !u!198 &470218498366294842
 ParticleSystem:
@@ -4898,7 +4984,7 @@ Transform:
   m_LocalScale: {x: 1.05, y: 1.05, z: 1.05}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 6709539860230415573}
+  m_Father: {fileID: 2024737807476548603}
   m_LocalEulerAnglesHint: {x: -103.812, y: 0, z: 0}
 --- !u!33 &7986526188632678007
 MeshFilter:
@@ -4952,7 +5038,7 @@ MeshRenderer:
   m_SortingLayer: 0
   m_SortingOrder: 0
   m_AdditionalVertexStreams: {fileID: 0}
---- !u!1 &5946700858606240778
+--- !u!1 &4308151666775858040
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -4960,138 +5046,34 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 6709539860230415573}
-  - component: {fileID: 2476910932881005835}
-  - component: {fileID: 8293516811664560675}
-  - component: {fileID: 4584476487471584154}
-  - component: {fileID: 2714522920527061815}
+  - component: {fileID: 2024737807476548603}
   m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: fb_huohulu
+  m_Name: root
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &6709539860230415573
+--- !u!4 &2024737807476548603
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5946700858606240778}
+  m_GameObject: {fileID: 4308151666775858040}
   serializedVersion: 2
-  m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
-  m_LocalPosition: {x: 0.025, y: 0, z: -0.02}
+  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: 3243294651818848173}
   - {fileID: 8755402052827223262}
   - {fileID: 4284192025192678772}
-  - {fileID: 1957552434230211680}
-  m_Father: {fileID: 0}
-  m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
---- !u!33 &2476910932881005835
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5946700858606240778}
-  m_Mesh: {fileID: 1116850374654134119, guid: 9397f393520d9844e9c2dd7621826ff9, type: 3}
---- !u!23 &8293516811664560675
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5946700858606240778}
-  m_Enabled: 1
-  m_CastShadows: 0
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_StaticShadowCaster: 0
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RayTraceProcedural: 0
-  m_virtualGeometry: 0
-  m_virtualGeometryShadow: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 2100000, guid: f3d79fc4671836747af1c04171aec002, type: 2}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
-  m_AdditionalVertexStreams: {fileID: 0}
---- !u!65 &4584476487471584154
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5946700858606240778}
-  m_Material: {fileID: 0}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_LayerOverridePriority: 0
-  m_IsTrigger: 1
-  m_ProvidesContacts: 0
-  m_Enabled: 1
-  serializedVersion: 3
-  m_Size: {x: 0.65468293, y: 0.6474176, z: 1.087989}
-  m_Center: {x: 0.000034451485, y: -0.000022992497, z: 0.060668066}
---- !u!54 &2714522920527061815
-Rigidbody:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5946700858606240778}
-  serializedVersion: 4
-  m_Mass: 1
-  m_Drag: 0
-  m_AngularDrag: 0.05
-  m_CenterOfMass: {x: 0, y: 0, z: 0}
-  m_InertiaTensor: {x: 1, y: 1, z: 1}
-  m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ImplicitCom: 1
-  m_ImplicitTensor: 1
-  m_UseGravity: 1
-  m_IsKinematic: 1
-  m_Interpolate: 0
-  m_Constraints: 0
-  m_CollisionDetection: 0
---- !u!1 &6201797876012373014
+  m_Father: {fileID: 6709539860230415573}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4343880961613838274
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -5099,9 +5081,9 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 6698441005325738426}
-  - component: {fileID: 6927973635451399846}
-  - component: {fileID: 3709438885317505255}
+  - component: {fileID: 3827836730248953605}
+  - component: {fileID: 5484245769274844958}
+  - component: {fileID: 2804231325114676231}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: Particle System
@@ -5110,13 +5092,13 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &6698441005325738426
+--- !u!4 &3827836730248953605
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6201797876012373014}
+  m_GameObject: {fileID: 4343880961613838274}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -5125,13 +5107,13 @@ Transform:
   m_Children: []
   m_Father: {fileID: 4284192025192678772}
   m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
---- !u!198 &6927973635451399846
+--- !u!198 &5484245769274844958
 ParticleSystem:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6201797876012373014}
+  m_GameObject: {fileID: 4343880961613838274}
   serializedVersion: 8
   lengthInSec: 1
   simulationSpeed: 1
@@ -9848,14 +9830,14 @@ ParticleSystem:
         m_PostInfinity: 2
         m_RotationOrder: 4
     vectorLabel1_3: W
---- !u!199 &3709438885317505255
+--- !u!199 &2804231325114676231
 ParticleSystemRenderer:
   serializedVersion: 6
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6201797876012373014}
+  m_GameObject: {fileID: 4343880961613838274}
   m_Enabled: 1
   m_CastShadows: 0
   m_ReceiveShadows: 0
@@ -9924,3 +9906,87 @@ ParticleSystemRenderer:
   m_MeshWeighting2: 1
   m_MeshWeighting3: 1
   m_MaskInteraction: 0
+--- !u!1 &5946700858606240778
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6709539860230415573}
+  - component: {fileID: 4584476487471584154}
+  - component: {fileID: 2714522920527061815}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: fb_huohulu
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6709539860230415573
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5946700858606240778}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -1.59, y: 0, z: -0.02}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1957552434230211680}
+  - {fileID: 2024737807476548603}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &4584476487471584154
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5946700858606240778}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 0.65468293, y: 0.6474176, z: 1.087989}
+  m_Center: {x: 0.000034451485, y: -0.000022992497, z: 0.060668066}
+--- !u!54 &2714522920527061815
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5946700858606240778}
+  serializedVersion: 4
+  m_Mass: 1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_CenterOfMass: {x: 0, y: 0, z: 0}
+  m_InertiaTensor: {x: 1, y: 1, z: 1}
+  m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ImplicitCom: 1
+  m_ImplicitTensor: 1
+  m_UseGravity: 1
+  m_IsKinematic: 1
+  m_Interpolate: 0
+  m_Constraints: 0
+  m_CollisionDetection: 0

+ 36 - 36
Assets/Res/CombatHero/fb_wulonghuan.prefab

@@ -1,6 +1,6 @@
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
---- !u!1 &1608508470550892502
+--- !u!1 &1040566910840965422
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -8,47 +8,48 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 2247233053361289098}
-  - component: {fileID: 4882609698810474039}
-  - component: {fileID: 253080366746589533}
+  - component: {fileID: 4911563858724239461}
+  - component: {fileID: 1886731444430312658}
+  - component: {fileID: 1511017010953425821}
   m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: fb_wulonghuan2
+  m_Name: root
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &2247233053361289098
+--- !u!4 &4911563858724239461
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1608508470550892502}
+  m_GameObject: {fileID: 1040566910840965422}
   serializedVersion: 2
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalRotation: {x: 0.19193658, y: -0.68055886, z: -0.19193658, w: 0.68055886}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1.05, y: 1.05, z: 1.05}
+  m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 4296133934175938918}
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!33 &4882609698810474039
+  m_Children:
+  - {fileID: 2247233053361289098}
+  m_Father: {fileID: 4376299262522308351}
+  m_LocalEulerAnglesHint: {x: 0, y: -90, z: -2191.5}
+--- !u!33 &1886731444430312658
 MeshFilter:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1608508470550892502}
+  m_GameObject: {fileID: 1040566910840965422}
   m_Mesh: {fileID: 1550311134061501549, guid: ebf3b36312e93fc4a9fc98bb9e0297d1, type: 3}
---- !u!23 &253080366746589533
+--- !u!23 &1511017010953425821
 MeshRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1608508470550892502}
+  m_GameObject: {fileID: 1040566910840965422}
   m_Enabled: 1
   m_CastShadows: 1
   m_ReceiveShadows: 1
@@ -64,7 +65,7 @@ MeshRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 2100000, guid: fbaa3d8e57dad6d4f92978954632c928, type: 2}
+  - {fileID: 2100000, guid: a78f967665a433842a8fa465bd7675d2, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -86,7 +87,7 @@ MeshRenderer:
   m_SortingLayer: 0
   m_SortingOrder: 0
   m_AdditionalVertexStreams: {fileID: 0}
---- !u!1 &5209429963152008089
+--- !u!1 &1608508470550892502
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -94,48 +95,47 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 4296133934175938918}
-  - component: {fileID: 771877301610072052}
-  - component: {fileID: 4039087759491674964}
+  - component: {fileID: 2247233053361289098}
+  - component: {fileID: 4882609698810474039}
+  - component: {fileID: 253080366746589533}
   m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: fb_wulonghuan (1)
+  m_Name: fb_wulonghuan2
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &4296133934175938918
+--- !u!4 &2247233053361289098
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5209429963152008089}
+  m_GameObject: {fileID: 1608508470550892502}
   serializedVersion: 2
-  m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
+  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_LocalScale: {x: 1.05, y: 1.05, z: 1.05}
   m_ConstrainProportionsScale: 0
-  m_Children:
-  - {fileID: 2247233053361289098}
-  m_Father: {fileID: 4376299262522308351}
-  m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
---- !u!33 &771877301610072052
+  m_Children: []
+  m_Father: {fileID: 4911563858724239461}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4882609698810474039
 MeshFilter:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5209429963152008089}
+  m_GameObject: {fileID: 1608508470550892502}
   m_Mesh: {fileID: 1550311134061501549, guid: ebf3b36312e93fc4a9fc98bb9e0297d1, type: 3}
---- !u!23 &4039087759491674964
+--- !u!23 &253080366746589533
 MeshRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5209429963152008089}
+  m_GameObject: {fileID: 1608508470550892502}
   m_Enabled: 1
   m_CastShadows: 1
   m_ReceiveShadows: 1
@@ -151,7 +151,7 @@ MeshRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 2100000, guid: a78f967665a433842a8fa465bd7675d2, type: 2}
+  - {fileID: 2100000, guid: fbaa3d8e57dad6d4f92978954632c928, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -206,7 +206,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 5495338375526920519}
-  - {fileID: 4296133934175938918}
+  - {fileID: 4911563858724239461}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!54 &7006580655590456537

+ 228 - 1
Assets/Scenes/testCombat.scene

@@ -124,6 +124,11 @@ NavMeshSettings:
     debug:
       m_Flags: 0
   m_NavMeshData: {fileID: 0}
+--- !u!4 &24964071 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
+  m_PrefabInstance: {fileID: 293130736}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &111679905
 GameObject:
   m_ObjectHideFlags: 0
@@ -681,7 +686,13 @@ PrefabInstance:
       objectReference: {fileID: 0}
     m_RemovedComponents: []
     m_RemovedGameObjects: []
-    m_AddedGameObjects: []
+    m_AddedGameObjects:
+    - targetCorrespondingSourceObject: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 948078761}
+    - targetCorrespondingSourceObject: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 535912258}
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
 --- !u!1 &376281604
@@ -1063,6 +1074,114 @@ PrefabInstance:
     m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: aa136114a0a958c4d85134b1e092bf8c, type: 3}
+--- !u!1 &535912257
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 535912258}
+  - component: {fileID: 535912261}
+  - component: {fileID: 535912260}
+  - component: {fileID: 535912259}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Cube (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &535912258
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 535912257}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.4, y: 3.23, z: 1.28}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 24964071}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &535912259
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 535912257}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &535912260
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 535912257}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_virtualGeometry: 0
+  m_virtualGeometryShadow: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &535912261
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 535912257}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!1 &753442135
 GameObject:
   m_ObjectHideFlags: 0
@@ -1341,6 +1460,114 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 846380789}
   m_CullTransparentMesh: 1
+--- !u!1 &948078760
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 948078761}
+  - component: {fileID: 948078764}
+  - component: {fileID: 948078763}
+  - component: {fileID: 948078762}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Cube
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &948078761
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 948078760}
+  serializedVersion: 2
+  m_LocalRotation: {x: -0.5488694, y: -0.12548317, z: -0.08376986, w: 0.82217944}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 24964071}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &948078762
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 948078760}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &948078763
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 948078760}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_virtualGeometry: 0
+  m_virtualGeometryShadow: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &948078764
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 948078760}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!1 &1080868191
 GameObject:
   m_ObjectHideFlags: 0

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

@@ -5,6 +5,7 @@
         Null,
 
         HeroDie,
+        MagicWeaponDie,
         HeroDieFinish,
         HeroResurrection,
         HeroHpUpdate,

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

@@ -58,6 +58,7 @@ namespace GameLogic.Combat.CombatTool
             stateControl.AddState("idle", new CombatIdleState(this));
             stateControl.AddState("update", new CombatUpdateState(this));
             MagicWeaponCombatSence = new MagicWeaponCombatSence();
+            MagicWeaponCombatSence.Init();
             CombatSenceController = new CombatSenceController();
             await CombatSenceController.InitScenes();
             CombatDataController = new CombatDataController();
@@ -108,6 +109,7 @@ namespace GameLogic.Combat.CombatTool
 
             stateControl.Update(t);
             CombatTypeBasic?.Update(t);
+            MagicWeaponCombatSence?.Update(t);
             CombatTimerManager.Instance.ComabtUpdate(t);
             CombatGuideManager.Instance.Update();
 

+ 65 - 0
Assets/Scripts/GameLogic/Combat/CombatTool/MagicWeaponCollisionInfo.cs

@@ -0,0 +1,65 @@
+using Fort23.Core;
+using GameLogic.Combat.Hero;
+using GameLogic.Combat.Hero.State;
+
+namespace GameLogic.Combat.CombatTool
+{
+    public class MagicWeaponCollisionInfo : CObject
+    {
+        public CombatMagicWeaponEntity a;
+        public CombatMagicWeaponEntity b;
+
+        protected float _currTime;
+
+        public void Update(float t)
+        {
+            _currTime += t;
+            if (_currTime > 0.1f)
+            {
+                _currTime = 0;
+                if (a != null)
+                {
+                    a.ReduceHp(1);
+                }
+
+                if (b != null)
+                {
+                    b.ReduceHp(1);
+                }
+            }
+        }
+
+        public override void ActiveObj()
+        {
+        }
+
+        public override void DormancyObj()
+        {
+            a = null;
+            b = null;
+        }
+
+        public void Finish()
+        {
+            if (a.HpBl > 0)
+            {
+                MagicWeaponMoveState.MagicWeaponMoveStateData magicWeaponMoveStateData =
+                    CObjectPool.Instance.Fetch<MagicWeaponMoveState.MagicWeaponMoveStateData>();
+                magicWeaponMoveStateData.trigger = true;
+                magicWeaponMoveStateData.triggerTime = 0.5f;
+                a.CombatAIBasic.ChangeState(CombatHeroStateType.move,magicWeaponMoveStateData);
+                CObjectPool.Instance.Recycle(magicWeaponMoveStateData);
+            }
+
+            if (b.HpBl > 0)
+            {
+                MagicWeaponMoveState.MagicWeaponMoveStateData magicWeaponMoveStateData =
+                    CObjectPool.Instance.Fetch<MagicWeaponMoveState.MagicWeaponMoveStateData>();
+                magicWeaponMoveStateData.trigger = true;
+                magicWeaponMoveStateData.triggerTime = 0.5f;
+                b.CombatAIBasic.ChangeState(CombatHeroStateType.move,magicWeaponMoveStateData);
+                CObjectPool.Instance.Recycle(magicWeaponMoveStateData);
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/CombatTool/MagicWeaponCollisionInfo.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ccb823c9cb9f4d3fbb881a99a2b48dbc
+timeCreated: 1739427246

+ 70 - 14
Assets/Scripts/GameLogic/Combat/CombatTool/MagicWeaponCombatSence.cs

@@ -1,5 +1,8 @@
 using System.Collections.Generic;
+using Common.Utility.CombatEvent;
+using Fort23.Core;
 using GameLogic.Combat.Hero;
+using GameLogic.Combat.Hero.State;
 using UnityEngine;
 
 namespace GameLogic.Combat.CombatTool
@@ -12,6 +15,7 @@ namespace GameLogic.Combat.CombatTool
         private BetterList<CombatMagicWeaponEntity> _enemyMagicWeaponList = new BetterList<CombatMagicWeaponEntity>();
         private BetterList<CombatMagicWeaponEntity> _playerMagicWeaponList = new BetterList<CombatMagicWeaponEntity>();
 
+       
         /// <summary>
         /// 战斗包围盒 minX miny maxx maxy
         /// </summary>
@@ -27,6 +31,30 @@ namespace GameLogic.Combat.CombatTool
         /// </summary>
         public Vector3 enemyEnterCombatPos;
 
+        private BetterList<MagicWeaponCollisionInfo> magicWeaponCollisionInfoList =
+            new BetterList<MagicWeaponCollisionInfo>();
+
+        public void Init()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.MagicWeaponDie, MagicWeaponDie);
+        }
+
+        private void MagicWeaponDie(IEventData iEventData)
+        {
+            HeroDieEventData heroDieEventData = iEventData as HeroDieEventData;
+            CombatMagicWeaponEntity combatMagicWeaponEntity =
+                heroDieEventData.combatHeroEntity as CombatMagicWeaponEntity;
+            _enemyMagicWeaponList.Remove(combatMagicWeaponEntity);
+            _playerMagicWeaponList.Remove(combatMagicWeaponEntity);
+            for (int i = 0; i < magicWeaponCollisionInfoList.Count; i++)
+            {
+                if (magicWeaponCollisionInfoList[i].a == combatMagicWeaponEntity ||
+                    magicWeaponCollisionInfoList[i].b == combatMagicWeaponEntity)
+                {
+                    RemoveCollisionMagicWeapon(magicWeaponCollisionInfoList[i]);
+                }
+            }
+        }
 
         public void SetMagicWeaponCombatSence(Vector3 myHeroPos, Vector3 fangXiang)
         {
@@ -43,26 +71,33 @@ namespace GameLogic.Combat.CombatTool
             if (combatMagicWeaponEntity.IsEnemy)
             {
                 _enemyMagicWeaponList.Add(combatMagicWeaponEntity);
+                combatMagicWeaponEntity.useIndex= _enemyMagicWeaponList.Count;
             }
             else
             {
                 _playerMagicWeaponList.Add(combatMagicWeaponEntity);
+                combatMagicWeaponEntity.useIndex= _playerMagicWeaponList.Count;
             }
 
-            combatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
+            combatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.Active);
         }
 
 
         public void Update(float t)
         {
-            for (int i = 0; i < _enemyMagicWeaponList.Count; i++)
-            {
-                _enemyMagicWeaponList[i].Update(t);
-            }
-
-            for (int i = 0; i < _playerMagicWeaponList.Count; i++)
+            // for (int i = 0; i < _enemyMagicWeaponList.Count; i++)
+            // {
+            //     _enemyMagicWeaponList[i].Update(t);
+            // }
+            //
+            // for (int i = 0; i < _playerMagicWeaponList.Count; i++)
+            // {
+            //     _playerMagicWeaponList[i].Update(t);
+            // }
+
+            for (int i = 0; i < magicWeaponCollisionInfoList.Count; i++)
             {
-                _playerMagicWeaponList[i].Update(t);
+                magicWeaponCollisionInfoList[i].Update(t);
             }
         }
 
@@ -95,13 +130,34 @@ namespace GameLogic.Combat.CombatTool
                 int index = CombatCalculateTool.Instance.GetOdd(0, nullTarget.Count);
                 return nullTarget[index];
             }
-            else
-            {
-                int index = CombatCalculateTool.Instance.GetOdd(0, magicWeaponList.Count);
-                return magicWeaponList[index];
-            }
 
-           
+            return null;
+        }
+
+        public void AddCollisionMagicWeapon(CombatMagicWeaponEntity a, CombatMagicWeaponEntity b)
+        {
+            MagicWeaponPingDouState.MagicWeaponPingDouData rollingStateData =
+                CObjectPool.Instance.Fetch<MagicWeaponPingDouState.MagicWeaponPingDouData>();
+            rollingStateData.target = b;
+
+            a.CombatAIBasic.ChangeState(CombatHeroStateType.MagicWeaponPingDou,
+                rollingStateData);
+            MagicWeaponPingDouState.MagicWeaponPingDouData rollingStateData2 =
+                CObjectPool.Instance.Fetch<MagicWeaponPingDouState.MagicWeaponPingDouData>();
+            rollingStateData.target = a;
+            b.CombatAIBasic.ChangeState(CombatHeroStateType.MagicWeaponPingDou,
+                rollingStateData2);
+            MagicWeaponCollisionInfo magicWeaponCollisionInfo = CObjectPool.Instance.Fetch<MagicWeaponCollisionInfo>();
+            magicWeaponCollisionInfo.a = a;
+            magicWeaponCollisionInfo.b = b;
+            magicWeaponCollisionInfoList.Add(magicWeaponCollisionInfo);
+        }
+
+        public void RemoveCollisionMagicWeapon(MagicWeaponCollisionInfo collisionInfo)
+        {
+            magicWeaponCollisionInfoList.Remove(collisionInfo);
+            collisionInfo.Finish();
+            CObjectPool.Instance.Recycle(collisionInfo);
         }
     }
 }

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

@@ -18,6 +18,7 @@ namespace GameLogic.Combat.Hero
         public static readonly string Resurrection= "resurrection";//复活
         public static readonly string PickUp= "PickUp";//拾取状态
         public static readonly string Disappear= "disappear";//消失状态
+        public static readonly string MagicWeaponPingDou= "MagicWeaponPingDou";//法宝碰撞
         
     }
 }

+ 27 - 3
Assets/Scripts/GameLogic/Combat/Hero/CombatMagicWeaponEntity.cs

@@ -15,14 +15,24 @@ namespace GameLogic.Combat.Hero
     /// </summary>
     public class CombatMagicWeaponEntity : CombatHeroEntity
     {
+         
         /// <summary>
         /// 碰撞的target
         /// </summary>
         public CombatMagicWeaponEntity CollidingTarget;
 
         protected MagicWeaponConfig _magicWeaponConfig;
-        public float cd = 10;
+        public float cd = 2;
 
+        
+        public float HpBl
+        {
+            get { return _HpBl; }
+        }
+
+        private float _HpBl = 100;
+
+        public int useIndex;
         /// <summary>
         /// 是否进入战斗状态
         /// </summary>
@@ -35,6 +45,20 @@ namespace GameLogic.Combat.Hero
             get { return _magicWeaponControl; }
         }
 
+        public void ReduceHp(float value)
+        {
+            _HpBl -= value;
+            if (_HpBl <= 0)
+            {
+                HeroDieEventData heroDieEventData = HeroDieEventData.Create();
+                heroDieEventData.combatHeroEntity = this;
+                CombatEventManager.Instance.Dispatch(CombatEventType.MagicWeaponDie,
+                    heroDieEventData);
+                cd = 10;
+                CombatAIBasic.ChangeState(CombatHeroStateType.XiuMian);
+            }
+        }
+
         public async CTask<CombatMagicWeaponEntity> Init(MagicWeaponControl magicWeaponControl,
             MagicWeaponConfig magicWeaponConfig,
             System.Action<CombatMagicWeaponEntity> callBack = null)
@@ -90,8 +114,6 @@ namespace GameLogic.Combat.Hero
             CombatAIBasic.Init(this);
 
 
-           
-
             AnimancerComponent animancerComponent = poolInterface.own.GetComponent<AnimancerComponent>();
             combatHeroAnimtion = new CombatHeroAnimtion();
 
@@ -112,6 +134,8 @@ namespace GameLogic.Combat.Hero
                 cd -= t;
                 if (cd <= 0)
                 {
+                    _HpBl = 100;
+                    CollidingTarget = null;
                     _magicWeaponControl.UseMagicWeapon(this);
                 }
             }

+ 18 - 3
Assets/Scripts/GameLogic/Combat/Hero/MagicWeaponAi.cs

@@ -1,21 +1,36 @@
 using GameLogic.Combat.Hero.State;
+using UnityEngine;
 
 namespace GameLogic.Combat.Hero
 {
     public class MagicWeaponAi : CombatAIBasic
     {
+        protected float roatSpeed = 30;
+        private Transform rootRoat;
+
         protected override void ProInitState()
         {
             stateControl.AddState(CombatHeroStateType.XiuMian, new MagicWeapomDormancyState(_showBaiscEntity));
-            
+
             stateControl.AddState(CombatHeroStateType.idle, new MagicWeaponIdleState(_showBaiscEntity));
             stateControl.AddState(CombatHeroStateType.move, new MagicWeaponMoveState(_showBaiscEntity));
-         
+            stateControl.AddState(CombatHeroStateType.MagicWeaponPingDou, new MagicWeaponPingDouState(_showBaiscEntity));
+            stateControl.AddState(CombatHeroStateType.Active, new MagicWeaponChuChangState(_showBaiscEntity));
+            
         }
 
         protected override void ProUpdate()
         {
-            base.ProUpdate();
+            if (rootRoat == null)
+            {
+                rootRoat = _showBaiscEntity.GameObject.transform.Find("root");
+            }
+
+            if (rootRoat != null)
+            {
+                rootRoat.localEulerAngles =
+                    new Vector3(rootRoat.localEulerAngles.x ,rootRoat.localEulerAngles.y, rootRoat.localEulerAngles.z + roatSpeed);
+            }
         }
     }
 }

+ 60 - 0
Assets/Scripts/GameLogic/Combat/Hero/State/MagicWeaponChuChangState.cs

@@ -0,0 +1,60 @@
+using GameLogic.Combat.CombatTool;
+using UnityEngine;
+
+namespace GameLogic.Combat.Hero.State
+{
+    public class MagicWeaponChuChangState : CombatHeroStateBasic
+    {
+        private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
+
+        private Vector3 startPos;
+        private Vector3 endPos;
+        private float _addTime;
+
+        private float _currTime;
+
+        public MagicWeaponChuChangState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
+        {
+            myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity;
+        }
+
+        protected override void ProEnter()
+        {
+            myCombatMagicWeaponEntity.GameObject.SetActive(true);
+            startPos = myCombatMagicWeaponEntity.MagicWeaponControl.combatHeroEntity.dotPos;
+            float y = myCombatMagicWeaponEntity.IsEnemy ? 5 : 3;
+            float x = myCombatMagicWeaponEntity.useIndex;
+
+
+            endPos = startPos + new Vector3(x, y, 0);
+            _addTime = 1.0f / (Vector3.Distance(startPos, endPos) / 10);
+            _currTime = 0;
+        }
+
+
+        protected override void ProUpdate(float t)
+        {
+            _currTime += t * _addTime;
+            Vector3 pos = Vector3.Lerp(startPos, endPos, _currTime);
+            myCombatMagicWeaponEntity.combatHeroGameObject.SetPosition(pos);
+            if (_currTime >= 1)
+            {
+                myCombatMagicWeaponEntity.isCombatState = true;
+                myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
+            }
+        }
+
+        protected override void ProExit()
+        {
+        }
+
+        public override bool IsUpdateLockTarget()
+        {
+            return false;
+        }
+
+        protected override void ProDispose()
+        {
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: edf02c4809d84a938ae9f35915e6e8b0
+timeCreated: 1739429217

+ 15 - 11
Assets/Scripts/GameLogic/Combat/Hero/State/MagicWeaponIdleState.cs

@@ -23,25 +23,29 @@ namespace GameLogic.Combat.Hero
 
         protected override void ProEnter()
         {
-            myCombatMagicWeaponEntity.GameObject.SetActive(true);
-            startPos = myCombatMagicWeaponEntity.MagicWeaponControl.combatHeroEntity.dotPos;
-            float y= myCombatMagicWeaponEntity.IsEnemy ? 5 : 3;
-            endPos = startPos+new Vector3(0,y,0);
-            _addTime = 1.0f / (Vector3.Distance(startPos, endPos) / 10);
-            _currTime = 0;
+           
+           
         }
 
 
         protected override void ProUpdate(float t)
         {
-            _currTime += t * _addTime;
-            Vector3 pos = Vector3.Lerp(startPos, endPos, _currTime);
-            myCombatMagicWeaponEntity.combatHeroGameObject.SetPosition(pos);
-            if (_currTime >= 1)
+            CombatMagicWeaponEntity combatMagicWeaponEntity =
+                CombatController.currActiveCombat.MagicWeaponCombatSence.FindCollidingTarget(
+                    myCombatMagicWeaponEntity);
+            if (combatMagicWeaponEntity != null)
             {
-                myCombatMagicWeaponEntity.isCombatState = true;
                 myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.move);
+                return;
             }
+            
+            Quaternion   newQuaternion = Quaternion.LookRotation(Vector3.up);
+
+
+            myCombatMagicWeaponEntity.GameObject.transform.rotation = Quaternion.RotateTowards(myCombatMagicWeaponEntity.GameObject.transform.rotation,
+                newQuaternion, 5);
+
+
         }
 
         protected override void ProExit()

+ 82 - 16
Assets/Scripts/GameLogic/Combat/Hero/State/MagicWeaponMoveState.cs

@@ -1,5 +1,8 @@
+using Core.State;
 using Core.Triiger;
+using Fort23.Core;
 using GameLogic.Combat.CombatTool;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
 using UnityEngine;
 
 namespace GameLogic.Combat.Hero.State
@@ -9,9 +12,21 @@ namespace GameLogic.Combat.Hero.State
     /// </summary>
     public class MagicWeaponMoveState : CombatHeroStateBasic
     {
+        public class MagicWeaponMoveStateData : CObject, IStateEnterData
+        {
+            public bool trigger;
+            public float triggerTime;
+            public override void ActiveObj()
+            {
+            }
+
+            public override void DormancyObj()
+            {
+            }
+        }
         private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
 
-        private float speed = 1;
+        private float speed = 10;
 
         private IUnRegister OnTriggerEnterEvent;
 
@@ -27,9 +42,26 @@ namespace GameLogic.Combat.Hero.State
 
         protected override void ProEnter()
         {
+            MagicWeaponMoveStateData magicWeaponMoveStateData=   iStateEnterData as MagicWeaponMoveStateData;
+            if (magicWeaponMoveStateData != null)
+            {
+                _trigger = magicWeaponMoveStateData.trigger;
+                _triggerTime = magicWeaponMoveStateData.triggerTime;
+            }
+
             OnTriggerEnterEvent = myCombatMagicWeaponEntity.GameObject.OnTriggerEnterEvent(OnTriggerEnter);
         }
 
+        public Vector3 GetStartPos()
+        {
+            Vector3 startPos = myCombatMagicWeaponEntity.MagicWeaponControl.combatHeroEntity.dotPos;
+            float y = myCombatMagicWeaponEntity.IsEnemy ? 5 : 3;
+            float x = myCombatMagicWeaponEntity.useIndex;
+
+
+            return startPos + new Vector3(x, y, 0);
+        }
+
         private void OnTriggerEnter(Collider collider)
         {
             HeroEntityMono heroEntityMono = collider.GetComponent<HeroEntityMono>();
@@ -38,14 +70,36 @@ namespace GameLogic.Combat.Hero.State
                 return;
             }
 
-            _trigger = true;
-            _triggerTime = 1;
+            if (!(myCombatMagicWeaponEntity.CombatAIBasic.CurrState is MagicWeaponMoveState))
+            {
+                return;
+            }
+
+            CombatMagicWeaponEntity combatMagicWeaponEntity =
+                heroEntityMono.combatHeroEntity as CombatMagicWeaponEntity;
+            if ((combatMagicWeaponEntity.HpBl <= 30 || myCombatMagicWeaponEntity.HpBl < 20) &&
+                myCombatMagicWeaponEntity.CombatAIBasic.CurrState is MagicWeaponMoveState)
+            {
+                CombatController.currActiveCombat.MagicWeaponCombatSence.AddCollisionMagicWeapon(
+                    combatMagicWeaponEntity, myCombatMagicWeaponEntity);
+            }
+            else
+            {
+                combatMagicWeaponEntity.ReduceHp(40);
+                _trigger = true;
+                _triggerTime = 0.5f;
+                myCombatMagicWeaponEntity.CollidingTarget = null;
+            }
+
+            // _trigger = true;
+            // _triggerTime = 0.5f;
             //碰到了要撞的敌人
         }
 
         protected override void ProUpdate(float t)
         {
-            if (myCombatMagicWeaponEntity.CollidingTarget == null)
+            if (myCombatMagicWeaponEntity.CollidingTarget == null ||
+                myCombatMagicWeaponEntity.CollidingTarget.HpBl <= 0)
             {
                 CombatMagicWeaponEntity combatMagicWeaponEntity =
                     CombatController.currActiveCombat.MagicWeaponCombatSence.FindCollidingTarget(
@@ -55,17 +109,25 @@ namespace GameLogic.Combat.Hero.State
                 myCombatMagicWeaponEntity.CollidingTarget = combatMagicWeaponEntity;
             }
 
+            Vector3 targetPos = Vector3.zero;
             CombatMagicWeaponEntity currCollidingTarget = myCombatMagicWeaponEntity.CollidingTarget;
-            if (currCollidingTarget == null) //没有可碰撞的法宝了
+            if (currCollidingTarget == null || !currCollidingTarget.isCombatState) //没有可碰撞的法宝了
             {
-                return;
-            }
+                Vector3 startPos = GetStartPos();
+                if (Vector3.Distance(startPos, myCombatMagicWeaponEntity.dotPos) < 0.5f)
+                {
+                    myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
+                    return;
+                }
 
-            if (!currCollidingTarget.isCombatState) //如果目标已经激活了,那么就直接攻击
+                targetPos = startPos;
+            }
+            else
             {
-                return;
+                targetPos = currCollidingTarget.dotPos;
             }
 
+
             Quaternion newQuaternion = myCombatMagicWeaponEntity.GameObject.transform.rotation;
             if (_trigger && _triggerTime > 0)
             {
@@ -73,24 +135,28 @@ namespace GameLogic.Combat.Hero.State
                 if (_triggerTime <= 0)
                 {
                     _trigger = false;
-                    speed = 1;
+                    // speed = 1;
                 }
             }
             else
             {
-                Vector3 newDir = (currCollidingTarget.dotPos - myCombatMagicWeaponEntity.dotPos).normalized;
+                Vector3 newDir = (targetPos - myCombatMagicWeaponEntity.dotPos).normalized;
+                float targetAngle = Vector3.Angle(Vector3.forward, newDir);
+                // Quaternion.Euler(0, targetAngle, 0) * enemyDirection;
                 newQuaternion = Quaternion.LookRotation(newDir);
+
+
                 newQuaternion = Quaternion.RotateTowards(myCombatMagicWeaponEntity.GameObject.transform.rotation,
                     newQuaternion, 5);
 
                 _lastDir = newDir;
             }
 
-            speed += t * 3;
-            if (speed > 10)
-            {
-                speed = 10;
-            }
+            // speed += t * 3;
+            // if (speed > 10)
+            // {
+            //     speed = 10;
+            // }
 
             Vector3 pos = newQuaternion * new Vector3(0, 0, 1);
             Vector3 movePos = pos * speed * t;

+ 59 - 0
Assets/Scripts/GameLogic/Combat/Hero/State/MagicWeaponPingDouState.cs

@@ -0,0 +1,59 @@
+using Core.State;
+using Fort23.Core;
+using UnityEngine;
+
+namespace GameLogic.Combat.Hero.State
+{
+    public class MagicWeaponPingDouState : CombatHeroStateBasic
+    {
+        public class MagicWeaponPingDouData : CObject, IStateEnterData
+        {
+            public CombatMagicWeaponEntity target;
+
+            public override void ActiveObj()
+            {
+            }
+
+            public override void DormancyObj()
+            {
+            }
+        }
+
+        private CombatMagicWeaponEntity myCombatMagicWeaponEntity;
+
+        private Vector3 startPos;
+        private Vector3 endPos;
+        private float _addTime;
+
+        private float _currTime;
+
+        private MagicWeaponPingDouData _magicWeaponPingDouData;
+
+        public MagicWeaponPingDouState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
+        {
+            myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity;
+        }
+
+        protected override void ProEnter()
+        {
+        }
+
+
+        protected override void ProUpdate(float t)
+        {
+        }
+
+        protected override void ProExit()
+        {
+        }
+
+        public override bool IsUpdateLockTarget()
+        {
+            return false;
+        }
+
+        protected override void ProDispose()
+        {
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: b17d18a4694c4d2e8ee4adc693b97c68
+timeCreated: 1739416089

+ 19 - 2
Assets/TTTTT.cs

@@ -2,9 +2,11 @@ using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
-
+[ExecuteInEditMode]
 public class TTTTT : MonoBehaviour
 {
+    public Transform target;
+    public Transform target2;
     // Start is called before the first frame update
     void Start()
     {
@@ -14,7 +16,22 @@ public class TTTTT : MonoBehaviour
     // Update is called once per frame
     void Update()
     {
-        
+        if (target == null || target2 == null)
+        {
+            return;
+        }
+        Vector3 newDir = (target2.transform.position - target.transform.position).normalized;
+        // float targetAngle = Vector3.Angle(Vector3.forward, newDir);
+        // Vector3 enemyDirection = target.transform.position -target2.transform.position ;
+        // Vector3 enemyTargetDirection = Quaternion.Euler(0, targetAngle, 0) *newDir;
+        // Quaternion.Euler(0, targetAngle, 0) * enemyDirection;
+        Quaternion quaternionn = Quaternion.LookRotation(newDir);
+       Vector3 p= quaternionn.eulerAngles;
+       Vector3 p2=  target.transform.eulerAngles;
+        // target.transform.rotation= quaternionn;
+        target.transform.eulerAngles = Vector3.Lerp(p2, p, 0.1f);
+
+        // _lastDir = newDir;
     }
 
     private void OnCollisionEnter(Collision other)