Browse Source

风车手里剑忍者暂存

1243896040 1 week ago
parent
commit
74f867289f

+ 65 - 227
ActionTowerDefense/Assets/Resources/Prefab/ESpirits/ESpirits_Pinja.prefab

@@ -27,10 +27,10 @@ Transform:
   m_GameObject: {fileID: 78415308861180513}
   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: 0.58823526, y: 0.58823526, z: 0.58823526}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 2437299196472462364}
+  m_Father: {fileID: 2730232521377132808}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &5104552355235513707
@@ -66,8 +66,8 @@ BoxCollider:
   m_IsTrigger: 1
   m_Enabled: 1
   serializedVersion: 2
-  m_Size: {x: 20, y: 3, z: 20}
-  m_Center: {x: 0, y: 1.5, z: 0}
+  m_Size: {x: 21.102495, y: 25, z: 20}
+  m_Center: {x: 0, y: 6, z: 0}
 --- !u!1 &1090663073729466903
 GameObject:
   m_ObjectHideFlags: 0
@@ -158,7 +158,6 @@ Transform:
   m_Children:
   - {fileID: 2730232521377132808}
   - {fileID: 7158672502188833122}
-  - {fileID: 5061628209490452354}
   - {fileID: 8507731236713456294}
   m_Father: {fileID: 0}
   m_RootOrder: 0
@@ -199,83 +198,14 @@ MonoBehaviour:
   attackSummonId: 0
   attackMarchId: 0
   summonTime: []
-  attackMethod_summon:
-  - attackName: attack_summon
-    attackType: 0
-    attackInfo:
-      attackValue: 0
-      damage: 0
-      attackDir: {x: 0, y: 0, z: 0}
-      criticalChance: 0
-      criticalStrikeEffect: 0
-      lifesteal: 0
-      effect: {fileID: 7473170563405908938, guid: 8ad3c225050205945b10657aa300afd6, type: 3}
-      attackEffect: 
-      attackMethod_Type: 0
-      floatState:
-        time: 0
-        upTime: {x: 0, y: 0}
-        backSpeed: {x: 0, y: 0}
-        rotateSpeed: {x: 0, y: 0}
-        height: {x: 0, y: 0}
-        ControlOrder: 0
-      blowUp:
-        directionType: 0
-        dir: {x: 0, y: 0, z: 0}
-        dirRandom: {x: 0, y: 0, z: 0}
-        force: 0
-        time: 0
-        haveLandingDamage: 0
-        landingDamageRate: 0
-        jumpNum: 0
-        ControlOrder: 0
-      shotDown:
-        directionType: 0
-        dir: {x: 0, y: 0, z: 0}
-        dirRandom: {x: 0, y: 0, z: 0}
-        force: 0
-        time: 0
-        haveLandingDamage: 0
-        landingDamageRate: 0
-        minLandingDamage: 0
-        ControlOrder: 0
-      weak:
-        time: 0
-        ControlOrder: 0
-      armorPiercing:
-        rate: 0
-      vulnerable:
-        rate: 0
-        time: 0
-      stackingWounds:
-        damage: 0
-        time: 0
-      changeDamage:
-        rate: 0
-      sustainedInjury:
-        damage: 0
-    attackTrigger: {fileID: 5076973120259515033}
-    needToChange: 0
-    attackDistance: 1
-    maxAttackDis: 0
-    minAttackDis: 0
-    searchMode: 0
-    canHitFly: 1
-    bulletPrefab: {fileID: 0}
-    shootPos: []
-    maxUpAngle: 0
-    maxDownAngle: 0
-    shootTrack: 0
-    shootAlwaysTrack: 0
-    skill: {fileID: 0}
-    additionalEffects: 0
+  attackMethod_summon: []
   attackMethod_march:
   - attackName: attack_march
-    attackType: 0
+    attackType: 2
     attackInfo:
       attackValue: 0
       damage: 0
-      attackDir: {x: 0, y: 0, z: 0}
+      attackDir: {x: -1, y: 0, z: 0}
       criticalChance: 0
       criticalStrikeEffect: 0
       lifesteal: 0
@@ -325,10 +255,10 @@ MonoBehaviour:
       sustainedInjury:
         damage: 0
     attackTrigger: {fileID: 4347565098670608659}
-    needToChange: 0
+    needToChange: 1
     attackDistance: 1
-    maxAttackDis: 0
-    minAttackDis: 0
+    maxAttackDis: 15
+    minAttackDis: 9
     searchMode: 0
     canHitFly: 1
     bulletPrefab: {fileID: 0}
@@ -337,7 +267,7 @@ MonoBehaviour:
     maxDownAngle: 0
     shootTrack: 0
     shootAlwaysTrack: 0
-    skill: {fileID: 0}
+    skill: {fileID: 1448360504836206113}
     additionalEffects: 0
   curAttackMethod:
     attackName: 
@@ -567,6 +497,10 @@ MonoBehaviour:
   dropSoulMin: 1
   dropProbability: 100
   dropSoulAngle: 60
+  canRevives: 0
+  totalRevivesNum: 0
+  revivesNum: 0
+  revivesPos: {x: 0, y: 0}
 --- !u!1 &2437299196663985757
 GameObject:
   m_ObjectHideFlags: 0
@@ -660,7 +594,8 @@ Transform:
   m_Children:
   - {fileID: 1971427318739414964}
   - {fileID: 7794457276998281569}
-  - {fileID: 1658938184312316380}
+  - {fileID: 5061628209490452354}
+  - {fileID: 6909337072054600190}
   m_Father: {fileID: 2437299196472462364}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1125,150 +1060,6 @@ MonoBehaviour:
     layerMixModes: 01000000
     layerBlendModes: 01000000
   updateTiming: 1
---- !u!1 &8175746555017464802
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1658938184312316380}
-  - component: {fileID: 4979172509264116742}
-  - component: {fileID: 5076973120259515033}
-  m_Layer: 20
-  m_Name: DashAttackTrigger
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!4 &1658938184312316380
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8175746555017464802}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 1
-  m_Children: []
-  m_Father: {fileID: 2730232521377132808}
-  m_RootOrder: 2
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!65 &4979172509264116742
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8175746555017464802}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 1
-  m_Enabled: 1
-  serializedVersion: 2
-  m_Size: {x: 3.2235622, y: 2, z: 20}
-  m_Center: {x: -0.8882189, y: 0.96999997, z: 0}
---- !u!114 &5076973120259515033
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8175746555017464802}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  canBreakWall: 0
-  wallBrealNum: 10
-  isShoot: 0
-  isSingleAttack: 0
-  isDoT: 0
-  owner: {fileID: 0}
-  cantSingleAttack: 0
-  trigedObjs: []
-  trigedTime: []
-  attackMethod:
-    attackName: 
-    attackType: 0
-    attackInfo:
-      attackValue: 0
-      damage: 0
-      attackDir: {x: 0, y: 0, z: 0}
-      criticalChance: 0
-      criticalStrikeEffect: 0
-      lifesteal: 0
-      effect: {fileID: 0}
-      attackEffect: 
-      attackMethod_Type: 0
-      floatState:
-        time: 0
-        upTime: {x: 0, y: 0}
-        backSpeed: {x: 0, y: 0}
-        rotateSpeed: {x: 0, y: 0}
-        height: {x: 0, y: 0}
-        ControlOrder: 0
-      blowUp:
-        directionType: 0
-        dir: {x: 0, y: 0, z: 0}
-        dirRandom: {x: 0, y: 0, z: 0}
-        force: 0
-        time: 0
-        haveLandingDamage: 0
-        landingDamageRate: 0
-        jumpNum: 0
-        ControlOrder: 0
-      shotDown:
-        directionType: 0
-        dir: {x: 0, y: 0, z: 0}
-        dirRandom: {x: 0, y: 0, z: 0}
-        force: 0
-        time: 0
-        haveLandingDamage: 0
-        landingDamageRate: 0
-        minLandingDamage: 0
-        ControlOrder: 0
-      weak:
-        time: 0
-        ControlOrder: 0
-      armorPiercing:
-        rate: 0
-      vulnerable:
-        rate: 0
-        time: 0
-      stackingWounds:
-        damage: 0
-        time: 0
-      changeDamage:
-        rate: 0
-      sustainedInjury:
-        damage: 0
-    attackTrigger: {fileID: 0}
-    needToChange: 0
-    attackDistance: 0
-    maxAttackDis: 0
-    minAttackDis: 0
-    searchMode: 0
-    canHitFly: 0
-    bulletPrefab: {fileID: 0}
-    shootPos: []
-    maxUpAngle: 0
-    maxDownAngle: 0
-    shootTrack: 0
-    shootAlwaysTrack: 0
-    skill: {fileID: 0}
-    additionalEffects: 0
-  force: {x: 0, y: 0, z: 0}
-  changeHurt: 0
-  repelValue: 0
-  offsetY: 1
-  hitRate: 1
-  interval: 0
-  isCreatedByDemonicSummon: 0
 --- !u!1 &8203964573996106666
 GameObject:
   m_ObjectHideFlags: 0
@@ -1302,7 +1093,7 @@ RectTransform:
   m_Children:
   - {fileID: 6098794361404217704}
   m_Father: {fileID: 2437299196472462364}
-  m_RootOrder: 3
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
@@ -1757,6 +1548,53 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &8914234898621423717
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6909337072054600190}
+  - component: {fileID: 1448360504836206113}
+  m_Layer: 8
+  m_Name: BoomerangWeaponController
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6909337072054600190
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8914234898621423717}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -0.11, y: 0.88, z: 0}
+  m_LocalScale: {x: 0.58823526, y: 0.58823526, z: 0.58823526}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2730232521377132808}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1448360504836206113
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8914234898621423717}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d6617dce79a622940941ccf2b91858d6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 9191678810110905539}
+  bulletObj: {fileID: 7473170563405908938, guid: a8d7788d84e74054e9bd5fc742e22241, type: 3}
+  isReturning: 0
 --- !u!1001 &4975682865987921505
 PrefabInstance:
   m_ObjectHideFlags: 0

+ 533 - 0
ActionTowerDefense/Assets/Resources/Prefab/windmill_shuriken.prefab

@@ -0,0 +1,533 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3502471531863202414
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7575887380211151894}
+  - component: {fileID: 1266115195005354489}
+  m_Layer: 0
+  m_Name: Arrow (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7575887380211151894
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3502471531863202414}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7473170561697162167}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 680.633}
+--- !u!212 &1266115195005354489
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3502471531863202414}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  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: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: -1730265859
+  m_SortingLayer: 4
+  m_SortingOrder: 1
+  m_Sprite: {fileID: 21300000, guid: 179cd842b6bd3eb4eae8a7467f9e306b, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 0.5820022, y: 1.0000005}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 0
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!1 &4418270249236143766
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2741126262971895706}
+  - component: {fileID: 2256094195859455462}
+  m_Layer: 0
+  m_Name: Trail
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2741126262971895706
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4418270249236143766}
+  m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7885428177189875250}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!96 &2256094195859455462
+TrailRenderer:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4418270249236143766}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 0
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: c1cf7ff6fbaf16f448d4560b7ffa0184, 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_Time: 0.2
+  m_Parameters:
+    serializedVersion: 3
+    widthMultiplier: 0.5
+    widthCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - 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
+    colorGradient:
+      serializedVersion: 2
+      key0: {r: 1, g: 1, b: 1, a: 0}
+      key1: {r: 1, g: 1, b: 1, a: 0.12156863}
+      key2: {r: 0.9755827, g: 1, b: 0.2980392, a: 0.11764706}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 65535
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 1618
+      atime2: 13639
+      atime3: 65535
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 4
+    numCornerVertices: 0
+    numCapVertices: 0
+    alignment: 0
+    textureMode: 0
+    shadowBias: 0.5
+    generateLightingData: 0
+  m_MinVertexDistance: 0.1
+  m_Autodestruct: 0
+  m_Emitting: 1
+--- !u!1 &6114474465964761461
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7885428177189875250}
+  - component: {fileID: 4138066613278734704}
+  m_Layer: 14
+  m_Name: root
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7885428177189875250
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6114474465964761461}
+  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: 7473170561697162167}
+  - {fileID: 2741126262971895706}
+  m_Father: {fileID: 7473170563405908937}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &4138066613278734704
+Animator:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6114474465964761461}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 5776ce4f18e8f974b96f5ca524fb8683, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_StabilizeFeet: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!1 &7473170561697162160
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7473170561697162167}
+  - component: {fileID: 7473170561697162166}
+  m_Layer: 0
+  m_Name: Arrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7473170561697162167
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7473170561697162160}
+  m_LocalRotation: {x: -0, y: -0, z: -0.33682647, w: 0.9415667}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 1
+  m_Children:
+  - {fileID: 7575887380211151894}
+  m_Father: {fileID: 7885428177189875250}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 680.633}
+--- !u!212 &7473170561697162166
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7473170561697162160}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  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: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: -1730265859
+  m_SortingLayer: 4
+  m_SortingOrder: 1
+  m_Sprite: {fileID: 21300000, guid: 277db553f0a6b7947bdfb646e449a110, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 0.5820022, y: 1.0000005}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
+--- !u!1 &7473170563405908938
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7473170563405908937}
+  - component: {fileID: 7414042625370929500}
+  - component: {fileID: 7485360237884938143}
+  - component: {fileID: 8541051486027365006}
+  m_Layer: 14
+  m_Name: windmill_shuriken
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7473170563405908937
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7473170563405908938}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 3, y: 3, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7885428177189875250}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &7414042625370929500
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7473170563405908938}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 20}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &7485360237884938143
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7473170563405908938}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9a4a2dbc1e482cd4b9f1532e1fddcb30, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  stopTime: 1.5
+  isBulletMove: 1
+  owner: {fileID: 0}
+  attackMethod:
+    attackName: 
+    attackType: 0
+    attackInfo:
+      attackValue: 0
+      damage: 0
+      attackDir: {x: 0, y: 0, z: 0}
+      criticalChance: 0
+      criticalStrikeEffect: 0
+      lifesteal: 0
+      effect: {fileID: 0}
+      attackEffect: 
+      attackMethod_Type: 0
+      floatState:
+        time: 0
+        upTime: {x: 0, y: 0}
+        backSpeed: {x: 0, y: 0}
+        rotateSpeed: {x: 0, y: 0}
+        height: {x: 0, y: 0}
+        ControlOrder: 0
+      blowUp:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        dirRandom: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamageRate: 0
+        jumpNum: 0
+        ControlOrder: 0
+      shotDown:
+        directionType: 0
+        dir: {x: 0, y: 0, z: 0}
+        dirRandom: {x: 0, y: 0, z: 0}
+        force: 0
+        time: 0
+        haveLandingDamage: 0
+        landingDamageRate: 0
+        minLandingDamage: 0
+        ControlOrder: 0
+      weak:
+        time: 0
+        ControlOrder: 0
+      armorPiercing:
+        rate: 0
+      vulnerable:
+        rate: 0
+        time: 0
+      stackingWounds:
+        damage: 0
+        time: 0
+      changeDamage:
+        rate: 0
+      sustainedInjury:
+        damage: 0
+    attackTrigger: {fileID: 0}
+    needToChange: 0
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    searchMode: 0
+    canHitFly: 0
+    bulletPrefab: {fileID: 0}
+    shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
+    shootTrack: 0
+    shootAlwaysTrack: 0
+    skill: {fileID: 0}
+    additionalEffects: 0
+  rb: {fileID: 0}
+  trigedObjs: []
+  bulletType: 1
+  isGetTarget: 0
+  speed: 20
+  maxFlyTime: 2
+  flyTime: 0
+  trackTarget: {fileID: 0}
+  effect: {fileID: 417478504669294145, guid: 144eaa8f77ac17143836e4b78fedb9c3, type: 3}
+  disappearEffect: {fileID: 417478504669294145, guid: 144eaa8f77ac17143836e4b78fedb9c3, type: 3}
+  canTransmit: 0
+  haveTransmit: 0
+  transmitTime: 0
+  canStop: 0
+  isTrack: 0
+  canAlwaysTrack: 0
+  isCreatedByDemonicSummon: 0
+  canPassGround: 1
+  originalScale: {x: 0, y: 0, z: 0}
+--- !u!54 &8541051486027365006
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7473170563405908938}
+  serializedVersion: 2
+  m_Mass: 1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_UseGravity: 0
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 56
+  m_CollisionDetection: 0

+ 7 - 0
ActionTowerDefense/Assets/Resources/Prefab/windmill_shuriken.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a8d7788d84e74054e9bd5fc742e22241
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 29 - 0
ActionTowerDefense/Assets/Scripts/Skills/BoomerangWeaponController.cs

@@ -0,0 +1,29 @@
+using Sirenix.OdinInspector;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BoomerangWeaponController : SpecialSkills
+{
+    [LabelText("×Óµ¯Ô¤ÖÆÌå")] public GameObject bulletObj;
+
+    [DisplayOnly] public bool isReturning;
+    public override void Attack()
+    {
+        base.Attack();
+        isReturning = false;
+        Shoot();
+    }
+
+    private void Update()
+    {
+
+    }
+    public void Shoot()
+    {
+        Bullet bullet = PoolManager.Instantiate(bulletObj).GetComponent<Bullet>();
+        AttackController.AttackMethod attackMethod = owner.attackController.attackMethod_march[0];
+        Vector3 attackDir = (owner.targetCharacter.beSearchTrigger.transform.position - transform.position).normalized;
+        bullet.BeShoot(owner, transform.position, attackDir, true, target: owner.targetCharacter);
+    }
+}

+ 11 - 0
ActionTowerDefense/Assets/Scripts/Skills/BoomerangWeaponController.cs.meta

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

+ 1 - 0
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_KiteNinja.cs

@@ -61,6 +61,7 @@ public class ESpirits_KiteNinja : Enemy
                         Random.Range(-revivesPos.x, revivesPos.x),
                         Random.Range(-revivesPos.y, revivesPos.y),
                         0);
+                    if (revivesPos.y < 0) revivesPos.y = 0;
                     flyHeight = revivesPos.y;
                     transform.position = revivesPos;
                 }

+ 38 - 12
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Pinja.cs

@@ -7,14 +7,24 @@ public class ESpirits_Pinja : Enemy
 {
     [Space(30)]
     [Title("ESpirits_Pinja属性")]
-    [LabelText("复活次数")] public int totalRevivesNum;
-    public int revivesNum;
-    [LabelText("复活范围")] public Vector2 revivesPos;
+    [LabelText("能否复活")] public bool canRevives;
+    [ShowIf("canRevives")] [LabelText("复活次数")] public int totalRevivesNum;
+    [ShowIf("canRevives")] public int revivesNum;
+    [ShowIf("canRevives")] [LabelText("复活范围")] public Vector2 revivesPos;
 
     private PlayerController player;
     public override void Init()
     {
         base.Init();
+        if (canRevives)
+        {
+            if (revivesNum == 0)
+            {
+                revivesNum = totalRevivesNum;
+            }
+            mecanim.Skeleton.SetSkin((totalRevivesNum + 1 - revivesNum).ToString());
+            mecanim.Skeleton.SetSlotsToSetupPose();
+        }
         player = PlayersInput.instance[0];
         ChooseLockingTarget();
     }
@@ -23,7 +33,31 @@ public class ESpirits_Pinja : Enemy
     {
         switch (state)
         {
-
+            case CharacterState.Die:
+                if (GameManager.instance.gameType == GameType.GameEnd)
+                {
+                    revivesNum = totalRevivesNum;
+                    gameObject.SetActive(false);
+                    return;
+                }
+                revivesNum--;
+                if (revivesNum < 0)
+                {
+                    gameObject.SetActive(false);
+                }
+                else
+                {
+                    Init();
+                    Vector3 revivesPos = transform.position;
+                    revivesPos.y = flyHeight;
+                    revivesPos += new Vector3(
+                        Random.Range(-revivesPos.x, revivesPos.x),
+                        Random.Range(-revivesPos.y, revivesPos.y),
+                        0);
+                    if (revivesPos.y < 0) revivesPos.y = 0;
+                    transform.position = revivesPos;
+                }
+                return;
         }
         base.OnState();
     }
@@ -50,12 +84,4 @@ public class ESpirits_Pinja : Enemy
         targetCharacter = player;
     }
 
-    public override void OnSearchState()
-    {
-        switch (searchState)
-        {
-
-        }
-        base.OnSearchState();
-    }
 }