소스 검색

实现了蝌蚪敌人的功能,使用PolliwogShot发射器发射

Callum 3 달 전
부모
커밋
7f892e6c6d

+ 1512 - 0
ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Polliwog.prefab

@@ -0,0 +1,1512 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &747381100755225041
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3372769376507897098}
+  - component: {fileID: 7650605579828095582}
+  - component: {fileID: 1709563751208538466}
+  - component: {fileID: 7408804304830896187}
+  - component: {fileID: 6674889720891781537}
+  m_Layer: 19
+  m_Name: BeHitTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3372769376507897098
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 747381100755225041}
+  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: 3248298059236281109}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &7650605579828095582
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 747381100755225041}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.9698016, y: 0.7297894, z: 2}
+  m_Center: {x: 0.077417046, y: 0.3368947, z: 0}
+--- !u!114 &1709563751208538466
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 747381100755225041}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8b2c8973c65adf4448805aa906f6ad29, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 0}
+  attackerID: 0
+  curX: 0
+--- !u!114 &7408804304830896187
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 747381100755225041}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1d04dd6e35d71724689001e450625c39, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  curSpecialStates: -1
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    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
+      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
+      landingDamage: 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
+    isDemSummon: 0
+  attributeTime: 0
+  floatingState: 0
+  hitState: 0
+  isFly: 0
+  decelerationRatioX: 2
+  decelerationRatioY: 15
+  startFlyAngle: 15
+  flyingRotateSpeedRange: {x: 15, y: 45}
+  compressionDegree: 0.8
+  compressionSpeed: {x: 0.2, y: 0.4}
+  jumpVel: 5
+  haveVulnerable: 0
+  vulnerableTime: 0
+  stackingWoudsTime: 0
+  stackingWordsNum: 0
+  resistances:
+    controlOrder: 0
+    Float: 0
+    BlowUp: 0
+    ShotDown: 0
+    Weak: 0
+    armor: 0
+--- !u!114 &6674889720891781537
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 747381100755225041}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 38dc6c579f75e924697fbe3639d11c9f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  freezeFrame: 0
+  isFreeze: 0
+  canFreeze: 0
+  curCharacterState: 0
+  attackInfoData:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    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
+      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
+      landingDamage: 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
+    isDemSummon: 0
+  attackFromData: {fileID: 0}
+  hitStunTime: 0
+  canHitStun: 0
+--- !u!1 &1535343421541351487
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1133560725009165570}
+  - component: {fileID: 4860084781315648974}
+  - component: {fileID: 1479238469761305822}
+  - component: {fileID: 4807441904620589385}
+  m_Layer: 8
+  m_Name: UI
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &1133560725009165570
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1535343421541351487}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.01, y: 0.01, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3610356161953035234}
+  m_Father: {fileID: 8023685214597940640}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0.9}
+  m_SizeDelta: {x: 300, y: 500}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!223 &4860084781315648974
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1535343421541351487}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 2
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 1516060329
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!114 &1479238469761305822
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1535343421541351487}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 1
+--- !u!114 &4807441904620589385
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1535343421541351487}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 16777215
+--- !u!1 &1592092357683433216
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3248298059236281109}
+  - component: {fileID: 5886452229929194239}
+  m_Layer: 8
+  m_Name: Colliders
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3248298059236281109
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1592092357683433216}
+  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: 4044399378262385515}
+  - {fileID: 6584563588054802980}
+  - {fileID: 8023685214372659182}
+  - {fileID: 816689562064130092}
+  - {fileID: 3372769376507897098}
+  m_Father: {fileID: 646884720114117071}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &5886452229929194239
+Animator:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1592092357683433216}
+  m_Enabled: 0
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 386ae4a82c0e57d42bb18d4b04fb6bc1, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 1
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_StabilizeFeet: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!1 &1947342349314136388
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7351404853661460315}
+  - component: {fileID: 5438523972308844832}
+  - component: {fileID: 4842403444785962645}
+  - component: {fileID: 838686186165657518}
+  m_Layer: 17
+  m_Name: SearchTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &7351404853661460315
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1947342349314136388}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 0.8, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 8023685214597940640}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &5438523972308844832
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1947342349314136388}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 21f006d2c845e2e43bce70ea7a2d8dcc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 0}
+  trigDemonicList: []
+  trigTowerList: []
+  trigPlayerList: []
+  trigEnemyList: []
+  trigEnemyTowerList: []
+  trigBossList: []
+  needToChange: 0
+  maxLen: 0
+  minLen: 0
+--- !u!65 &4842403444785962645
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1947342349314136388}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 15.717739, y: 8.111751, z: 20}
+  m_Center: {x: -0.07770944, y: 0.11173636, z: 0}
+--- !u!114 &838686186165657518
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1947342349314136388}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 940ff74252fd4324fad0d9e6b8e59c5b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  tanekEnemy: []
+  enemyTower: []
+--- !u!1 &2312462261567289556
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6584563588054802980}
+  - component: {fileID: 1222060622420681600}
+  m_Layer: 8
+  m_Name: BodyCollider
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6584563588054802980
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2312462261567289556}
+  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: 3248298059236281109}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &1222060622420681600
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2312462261567289556}
+  m_Material: {fileID: 13400000, guid: ae11ca82bc783194e8fdded3f8828a76, type: 2}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.9065783, y: 0.5057149, z: 2}
+  m_Center: {x: 0.06542587, y: 0.43024182, z: 0}
+--- !u!1 &2658578937632965927
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6183784476029134344}
+  - component: {fileID: 5922732143520722081}
+  - component: {fileID: 7830502485451787330}
+  - component: {fileID: 1487103345711223088}
+  - component: {fileID: 251812277556731043}
+  m_Layer: 8
+  m_Name: Spine
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6183784476029134344
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2658578937632965927}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.5, y: 0.5, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 646884720114117071}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &5922732143520722081
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2658578937632965927}
+  m_Mesh: {fileID: 0}
+--- !u!23 &7830502485451787330
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2658578937632965927}
+  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_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 08d21549be2637f419645ea80ff65c71, 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: 341237651
+  m_SortingLayer: 3
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!95 &1487103345711223088
+Animator:
+  serializedVersion: 4
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2658578937632965927}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: c977d87b2988a1b4aaeeafc7059946a0, 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!114 &251812277556731043
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2658578937632965927}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f9db98c60740638449864eb028fbe7ad, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  skeletonDataAsset: {fileID: 11400000, guid: e5d9206f27bbcca45a5329474e1d1c48, type: 2}
+  initialSkinName: 
+  fixPrefabOverrideViaMeshFilter: 2
+  initialFlipX: 0
+  initialFlipY: 0
+  updateWhenInvisible: 3
+  separatorSlotNames: []
+  zSpacing: 0
+  useClipping: 1
+  immutableTriangles: 0
+  pmaVertexColors: 1
+  clearStateOnDisable: 0
+  tintBlack: 0
+  singleSubmesh: 0
+  fixDrawOrder: 0
+  addNormals: 0
+  calculateTangents: 0
+  maskInteraction: 0
+  maskMaterials:
+    materialsMaskDisabled: []
+    materialsInsideMask: []
+    materialsOutsideMask: []
+  disableRenderingOnOverride: 1
+  physicsPositionInheritanceFactor: {x: 1, y: 1}
+  physicsRotationInheritanceFactor: 1
+  physicsMovementRelativeTo: {fileID: 0}
+  translator:
+    autoReset: 1
+    useCustomMixMode: 1
+    layerMixModes: 01000000
+    layerBlendModes: 01000000
+  updateTiming: 1
+--- !u!1 &5701931315761984808
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3610356161953035234}
+  - component: {fileID: 6797183743228758962}
+  - component: {fileID: 323996703298675450}
+  - component: {fileID: 2303240602220967092}
+  - component: {fileID: 99864860648192471}
+  m_Layer: 8
+  m_Name: HP
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3610356161953035234
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5701931315761984808}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.5, y: 0.5, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 2747123536007912164}
+  m_Father: {fileID: 1133560725009165570}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 150}
+  m_SizeDelta: {x: 150, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6797183743228758962
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5701931315761984808}
+  m_CullTransparentMesh: 1
+--- !u!114 &323996703298675450
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5701931315761984808}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.3301887, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 97bdb0b0817469147954ce720ea6f795, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &2303240602220967092
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5701931315761984808}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 1}
+  m_EffectDistance: {x: 3, y: -3}
+  m_UseGraphicAlpha: 1
+--- !u!114 &99864860648192471
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5701931315761984808}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c5cfe48b68a3fd64f95e7a1c19316726, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  imgHp: {fileID: 3071081702454762616}
+  pc: {fileID: 0}
+  points: []
+--- !u!1 &6057990709143446261
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4044399378262385515}
+  - component: {fileID: 3696373114645964265}
+  - component: {fileID: 5849284137114900647}
+  m_Layer: 20
+  m_Name: AttackTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4044399378262385515
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6057990709143446261}
+  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: 3248298059236281109}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &3696373114645964265
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6057990709143446261}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.71258783, y: 0.49622822, z: 2}
+  m_Center: {x: -0.055391967, y: 0.3900652, z: 0}
+--- !u!114 &5849284137114900647
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6057990709143446261}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5eaed0a6b9d6fc6409bef80cf41a0a8e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  canBreakWall: 0
+  wallBrealNum: 10
+  isShoot: 0
+  type: 0
+  owner: {fileID: 0}
+  isSingleAttack: 0
+  cantSingleAttack: 0
+  trigedObjs: []
+  attackInfo:
+    attackValue: 0
+    damage: 6
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    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
+      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
+      landingDamage: 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
+    isDemSummon: 0
+  force: {x: 0, y: 0, z: 0}
+  changeHurt: 0
+  repelValue: 0
+  offsetY: 1
+  hitRate: 1
+--- !u!1 &6946548908041813966
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 646884720114117071}
+  m_Layer: 8
+  m_Name: Body
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &646884720114117071
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6946548908041813966}
+  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: 6183784476029134344}
+  - {fileID: 3248298059236281109}
+  m_Father: {fileID: 8023685214597940640}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8023685214372659169
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8023685214372659182}
+  - component: {fileID: 8023685214372659183}
+  - component: {fileID: 8023685214372659168}
+  m_Layer: 22
+  m_Name: Foot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &8023685214372659182
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8023685214372659169}
+  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: 3248298059236281109}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &8023685214372659183
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8023685214372659169}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 0.8188312, y: 0.25791693, z: 2}
+  m_Center: {x: 0.009530544, y: 0.12104154, z: 0}
+--- !u!114 &8023685214372659168
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8023685214372659169}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c42213c575288a148b692aad7ab56bab, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  rb: {fileID: 0}
+  moveCharacter: {fileID: 0}
+  canOnGiant: 0
+  haveGravity: 1
+  trigGroundList: []
+  platform: {fileID: 0}
+--- !u!1 &8023685214597940645
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8023685214597940640}
+  - component: {fileID: 3151684978354758052}
+  - component: {fileID: 4087616115681235363}
+  m_Layer: 8
+  m_Name: Enemy_Polliwog
+  m_TagString: Enemy
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &8023685214597940640
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8023685214597940645}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0.4, y: 6.8, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 646884720114117071}
+  - {fileID: 7351404853661460315}
+  - {fileID: 1133560725009165570}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3151684978354758052
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8023685214597940645}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7559c6d7796c4984ab722c59c2dfb591, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  rb: {fileID: 0}
+  bodyTrans: {fileID: 646884720114117071}
+  beSearchTrigger: {fileID: 1461416353662333947}
+  searchTrigger: {fileID: 5438523972308844832}
+  bodyCollider: {fileID: 2312462261567289556}
+  uiHp: {fileID: 99864860648192471}
+  beHitTrigger: {fileID: 1709563751208538466}
+  attackController: {fileID: 4087616115681235363}
+  platform: {fileID: 0}
+  mecanim: {fileID: 251812277556731043}
+  meshRenderer: {fileID: 0}
+  ani: {fileID: 1487103345711223088}
+  totalDieKeepTime: 0.1
+  totalAttack_summonTime: 1
+  totalAttack_marchTime: 1
+  showInjuryNum: 1
+  injuryNumText: {fileID: 6467251191553420251, guid: 9b37289f93ea76745ab2cefb79a93e3c, type: 3}
+  injuryNumTextSummon: {fileID: 6467251191553420251, guid: 71b4c570c9e403d429846b71878a20c4, type: 3}
+  injuryNumPos_summon: {x: 0, y: 1}
+  injuryNumRandom_summon: {x: 1, y: 1}
+  injuryNumPos_march: {x: 0, y: 1}
+  injuryNumRandom_march: {x: 1, y: 1}
+  dieKeepTime: 0
+  beHitDistance: 1
+  attackDis: 0
+  targetCharacter: {fileID: 0}
+  attackTarget: {fileID: 0}
+  state: 0
+  totalHp: 1
+  hp: 0
+  canFly: 1
+  nowCanFly: 0
+  canNotShotDown: 1
+  canNotAddForce: 0
+  canNotChangeHurt: 0
+  isDie: 0
+  isRevive: 0
+  invincibleTime: 0
+  isBeHitBySummonAttack: 0
+  statePre: {fileID: 4272231268506418309, guid: cf5ca93704f49c744b0d6cfc2cd25a01, type: 3}
+  ls: {fileID: 0}
+  isInSoulTower: 0
+  beLarger: 0
+  toLargeSize: 0
+  cookEffect: {fileID: 0}
+  Attack_summonShootCanTransmit: 0
+  debugAttackFrom: 0
+  hitResistance: 0
+  foot: {fileID: 8023685214372659168}
+  attributeStatus: {fileID: 0}
+  hitFeedbackSystem: {fileID: 0}
+  spineEvent: {fileID: 0}
+  extraRiseGravity: -28.8
+  extraFallGravity: -14.4
+  extraGroundGravity: -28.8
+  velocityAddition: 0
+  platformPosY: 0
+  platformRotZ: 0
+  RotLerpSpeed: 0.6
+  RotLerpTime: 0
+  matState: 1
+  spinee: {fileID: 0}
+  mesh: {fileID: 0}
+  mats: []
+  outlineMats: []
+  outline1Mats: []
+  moveSpeed: 5
+  needToAdjustFlyHeight: 0
+  flyHeight: 0
+  maxFlyHeight: 0
+  minFlyHeight: 0
+  flyUpTime: 0
+  isAdjustHeight: 0
+  isDamageReduction: 0
+  reductionDegree: 0
+  reductionEffect: {fileID: 0}
+  effect: {fileID: 0}
+  soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
+  soulStartSpeed: 1
+  isInvisible: 0
+  invisibleTime: 0
+  haveTransmit: 0
+  transmitTime: 0
+  portalsController: {fileID: 0}
+  isSustainedInjury: 0
+  sustainedInjuryTime: 0
+  sustainedInjury_IntervalTime: 0
+  sustainedInjury_damage: 0
+  heavyDamage: 0
+  killer: {fileID: 0}
+  tag: 0
+  dieEffect: {fileID: 417478504669294145, guid: 2a4e7e280b9d19042ba0f57ae5edf736, type: 3}
+  exp: 0
+  name: 
+  baseSortingOrder: 3000
+  isBack: 0
+  jumpSpeed: 10
+  maxMoveSpeed: 6
+  minMoveSpeed: 5
+  runSpeed: 0
+  isBeBlownUp: 0
+  isBeReboundedX: 0
+  isBeReboundedY: 0
+  reboundXSpeed: 0
+  reboundYSpeed: 0
+  wallDamage: 0
+  type: 0
+  searchState: 0
+  attackRatio: 0
+  dropSoulMax: 0
+  dropSoulMin: 0
+  dropProbability: 8
+  dropSoulAngle: 0
+  canEscape: 0
+  stopEscapeCD: 0
+  escapeSpeed: 0
+  distanceToTowerDeviation: 0
+  distanceToTowerBase: 0
+  distanceToEnemyDeviation: 0
+  distanceToEnemyBase: 0
+  canClimb: 0
+  pathCreator: {fileID: 0}
+  climbSpeed: 0
+  playerTarget: {fileID: 0}
+  shooter: {fileID: 0}
+  damage: 0
+  separationWeight: 2
+  cohesionWeight: 0.8
+  alignmentWeight: 1.2
+  flockInfluence: 1
+  correctionProbability: 40
+  baseMoveSpeed: 10
+  baseRotationSpeed: 300
+  speedDeviation: 2
+  rotationSpeedDeviation: 15
+  squareAvoidanceRadius: 5
+  rotationSmoothing: 5
+  isInGroup: 1
+  updateInterval: 2
+--- !u!114 &4087616115681235363
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8023685214597940645}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 565fb65a48a8ef648b3096d46e15efd9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  attackKeys:
+  - aniName: attack
+    keys:
+    - attackMethod: 0
+      attackType: 0
+      startKeyName: attack_on
+      startKeyTime: 0.6
+      endType: 1
+      endKeyName: attack_off
+      endKeyTime: 0.70000005
+  keyTimes: []
+  attackTime: 0
+  attackKeyCount: 0
+  nextStartKeyTime: 0
+  nextEndKeyTime: 0
+  curKeyNum: 0
+  attackType: 0
+  attackInterval: 0
+  curDamage: 0
+  canHitFly: 0
+  attackInfo:
+    attackValue: 0
+    damage: 0
+    attackDir: {x: 0, y: 0, z: 0}
+    attackEffect: 
+    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
+      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
+      landingDamage: 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
+    isDemSummon: 0
+  addAttackEffect: {fileID: 0}
+  skill: {fileID: 0}
+  attackDistance: 0
+  attackTrigger: {fileID: 0}
+  isAttackTriggerOn: 0
+  bulletPrefab: {fileID: 0}
+  shootPos: []
+  shootTrack: 0
+  shootAlwaysTrack: 0
+  targetTypes: 03000000
+  beTargetCharacter: []
+  attackMethod:
+  - id: 0
+    attackName: 
+    attackType: 0
+    attackInfo:
+      attackValue: 0
+      damage: 0
+      attackDir: {x: 0, y: 0, z: 0}
+      attackEffect: 
+      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
+        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
+        landingDamage: 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
+      isDemSummon: 0
+    attackTrigger: {fileID: 5849284137114900647}
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    needToChange: 0
+    searchMode: 0
+    targetTypes: 
+    canHitFly: 0
+    armorPiercing: 0
+    bulletPrefab: {fileID: 0}
+    shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
+    shootTrack: 0
+    shootAlwaysTrack: 0
+    skill: {fileID: 0}
+  curAttackMethod:
+    id: 0
+    attackName: 
+    attackType: 0
+    attackInfo:
+      attackValue: 0
+      damage: 0
+      attackDir: {x: 0, y: 0, z: 0}
+      attackEffect: 
+      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
+        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
+        landingDamage: 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
+      isDemSummon: 0
+    attackTrigger: {fileID: 0}
+    attackDistance: 0
+    maxAttackDis: 0
+    minAttackDis: 0
+    needToChange: 0
+    searchMode: 0
+    targetTypes: 
+    canHitFly: 0
+    armorPiercing: 0
+    bulletPrefab: {fileID: 0}
+    shootPos: []
+    maxUpAngle: 0
+    maxDownAngle: 0
+    shootTrack: 0
+    shootAlwaysTrack: 0
+    skill: {fileID: 0}
+--- !u!1 &8707527156012311288
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 816689562064130092}
+  - component: {fileID: 4470273568402756359}
+  - component: {fileID: 1461416353662333947}
+  m_Layer: 18
+  m_Name: BeSearchTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &816689562064130092
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8707527156012311288}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.792, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3248298059236281109}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &4470273568402756359
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8707527156012311288}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1.0438673, y: 0.7302892, z: 20}
+  m_Center: {x: 0.11928213, y: -0.41705644, z: 0}
+--- !u!114 &1461416353662333947
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8707527156012311288}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8ff1eeae99d9b8142acd628550a50e26, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  owner: {fileID: 0}
+--- !u!1 &8891549495732894168
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2747123536007912164}
+  - component: {fileID: 6749650921189334184}
+  - component: {fileID: 3071081702454762616}
+  m_Layer: 8
+  m_Name: Progress
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2747123536007912164
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8891549495732894168}
+  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: 3610356161953035234}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 150, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6749650921189334184
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8891549495732894168}
+  m_CullTransparentMesh: 1
+--- !u!114 &3071081702454762616
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8891549495732894168}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 97bdb0b0817469147954ce720ea6f795, type: 3}
+  m_Type: 3
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 0
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1

+ 2 - 2
ActionTowerDefense/Assets/PIDI Game Development Framework/Planar Reflections 4/Shared Assets/Amplify Shader Editor Nodes/4.0.0 - Amplify Shader Editor Nodes.unitypackage.meta → ActionTowerDefense/Assets/Resources/Prefab/Enemy/Enemy_Polliwog.prefab.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
-guid: 68e1c94b04df60048974896754524c17
-DefaultImporter:
+guid: 601c6904a962d6243af8500d990dfd0b
+PrefabImporter:
   externalObjects: {}
   userData: 
   assetBundleName: 

+ 3 - 1
ActionTowerDefense/Assets/Resources/Spine/Enemy_Polliwog/Enemy_polliwog_Material.mat

@@ -8,7 +8,7 @@ Material:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: Enemy_polliwog_Material
-  m_Shader: {fileID: 4800000, guid: 1e8a610c9e01c3648bac42585e5fc676, type: 3}
+  m_Shader: {fileID: 4800000, guid: 45495790b394f894a967dbf44489b57b, type: 3}
   m_ValidKeywords: []
   m_InvalidKeywords:
   - _USE8NEIGHBOURHOOD_ON
@@ -29,6 +29,7 @@ Material:
     m_Floats:
     - _Cutoff: 0.1
     - _Fill: 0
+    - _FillPhase: 0
     - _OutlineMipLevel: 0
     - _OutlineOpaqueAlpha: 1
     - _OutlineReferenceTexWidth: 1024
@@ -41,5 +42,6 @@ Material:
     - _Use8Neighbourhood: 1
     - _UseScreenSpaceOutlineWidth: 0
     m_Colors:
+    - _FillColor: {r: 1, g: 0, b: 0, a: 1}
     - _OutlineColor: {r: 1, g: 1, b: 0, a: 1}
   m_BuildTextureStacks: []

+ 1044 - 0
ActionTowerDefense/Assets/Resources/Spine/Enemy_Polliwog/Enemy_polliwog_SkeletonData_Controller.controller

@@ -0,0 +1,1044 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &-9150391850346503276
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: weak
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 2086281974
+      script: {fileID: 0}
+      typeID: 1
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 0
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
+--- !u!74 &-4258489300369574861
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: attack
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 2086281974
+      script: {fileID: 0}
+      typeID: 1
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 0
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
+--- !u!74 &-4009435882466268642
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: hitted_back
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 2086281974
+      script: {fileID: 0}
+      typeID: 1
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 0
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
+--- !u!1102 &-3258790320815685327
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: idle2
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: -3082783140933639901}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!74 &-3082783140933639901
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: idle2
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 2
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 2086281974
+      script: {fileID: 0}
+      typeID: 1
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 2
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 0
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 2
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
+--- !u!74 &-2380339522161683901
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: fall
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 2086281974
+      script: {fileID: 0}
+      typeID: 1
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 0
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Enemy_polliwog_SkeletonData_Controller
+  serializedVersion: 5
+  m_AnimatorParameters: []
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: 587694967773702897}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1102 &173646963901785902
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: hitted_back
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: -4009435882466268642}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1107 &587694967773702897
+AnimatorStateMachine:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: 4281090264472672522}
+    m_Position: {x: 330, y: 390, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 7822428565708664289}
+    m_Position: {x: 330, y: 350, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 1784132200678309011}
+    m_Position: {x: 330, y: 160, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 173646963901785902}
+    m_Position: {x: 330, y: 200, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 2535995069399719508}
+    m_Position: {x: 330, y: 240, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: -3258790320815685327}
+    m_Position: {x: 330, y: 270, z: 0}
+  - serializedVersion: 1
+    m_State: {fileID: 4641633981927197936}
+    m_Position: {x: 330, y: 310, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: 2535995069399719508}
+--- !u!1102 &1784132200678309011
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: hitted
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 4505084254544105565}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1102 &2535995069399719508
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: idle
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 8153717260472912801}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1102 &4281090264472672522
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: attack
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: -4258489300369574861}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!74 &4505084254544105565
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: hitted
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 2086281974
+      script: {fileID: 0}
+      typeID: 1
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 1
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 0
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        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.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []
+--- !u!1102 &4641633981927197936
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: weak
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: -9150391850346503276}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!1102 &7822428565708664289
+AnimatorState:
+  serializedVersion: 6
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: fall
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: -2380339522161683901}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!74 &8153717260472912801
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: idle
+  serializedVersion: 7
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves: []
+  m_ScaleCurves: []
+  m_FloatCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.7666667
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 2086281974
+      script: {fileID: 0}
+      typeID: 1
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 0.7666667
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.7666667
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: 
+    classID: 1
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 0
+  m_HasMotionFloatCurves: 0
+  m_Events: []

+ 8 - 0
ActionTowerDefense/Assets/Resources/Spine/Enemy_Polliwog/Enemy_polliwog_SkeletonData_Controller.controller.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c977d87b2988a1b4aaeeafc7059946a0
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 9100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 12 - 7
ActionTowerDefense/Assets/Scripts/Characters/Enemy.cs

@@ -71,12 +71,13 @@ public class Enemy : MoveCharacter
     private int curAttackID;
     private AttackController.AttackMethod[] am;
     private int len;
-    private float pastAttackTime;
+    protected float pastAttackTime;
     private bool isConAttack;       //连续攻击,不切idle动画
 
     [Header("掉落魂")]
     public int dropSoulMax = 3;
     public int dropSoulMin = 1;
+    public int dropProbability = 100;
     public float dropSoulAngle = 60f;
 
     [Header("逃跑组件")]
@@ -121,7 +122,7 @@ public class Enemy : MoveCharacter
         distanceToEnemy = distanceToEnemyBase;
     }
 
-    private void OnEnable()
+    protected virtual void OnEnable()
     {
         Init();
     }
@@ -801,11 +802,15 @@ public class Enemy : MoveCharacter
         }
         else
         {
-            GameObject soulObj = PoolManager.Instantiate(soulPrefab, transform.position);
-            Vector3 dir = Vector3.up;
-            Soul soul = soulObj.GetComponent<Soul>();
-            soul.Burst(dir * soulStartSpeed);
-            soul.type = type;
+            int randomInt = Random.Range(0, 100);
+            if (randomInt < dropProbability)
+            {
+                GameObject soulObj = PoolManager.Instantiate(soulPrefab, transform.position);
+                Vector3 dir = Vector3.up;
+                Soul soul = soulObj.GetComponent<Soul>();
+                soul.Burst(dir * soulStartSpeed);
+                soul.type = type;
+            }
         }
     }
 

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Characters/Foot.cs

@@ -25,7 +25,7 @@ public class Foot : MonoBehaviour
     private void Awake()
     {
         rb = GetComponentInParent<Rigidbody>();
-        moveCharacter = rb.transform.GetComponent<MoveCharacter>();
+        moveCharacter = GetComponentInParent<MoveCharacter>();
     }
 
     private void OnDisable()

+ 8 - 0
ActionTowerDefense/Assets/Scripts/Characters/HitFeedbackSystem.cs

@@ -37,6 +37,10 @@ public class HitFeedbackSystem : MonoBehaviour
         //¶ÙÖ¡
         if (isFreeze)
         {
+            if (character.rb == null)
+            {
+                return;
+            }
             if (freezeFrame <= 0)
             {
                 isFreeze = false;
@@ -71,6 +75,10 @@ public class HitFeedbackSystem : MonoBehaviour
     {
         if (canFreeze)
         {
+            if (character.rb == null)
+            {
+                return;
+            }
             attackInfoData = attackInfo;
             attackFromData = attackFrom;
             canFreeze = false;

+ 299 - 0
ActionTowerDefense/Assets/Scripts/Characters/Polliwog.cs

@@ -0,0 +1,299 @@
+using System.Collections;
+using System.Collections.Generic;
+using Unity.VisualScripting;
+using UnityEngine;
+using Spine;
+using Spine.Unity;
+
+public class Polliwog : Enemy
+{
+    public Transform playerTarget;
+    public PolliwogShot shooter;
+    private BoxCollider _bodyCollider;
+    public int damage;
+    [Header("鱼群行为参数")]
+    public float separationWeight = 1.5f; //分离权重
+    public float cohesionWeight = 1.0f; //聚集权重
+    public float alignmentWeight = 1.0f; //对齐权重
+    public float flockInfluence = 0.5f; // 群体行为对最终方向的影响程度
+    public int correctionProbability;
+
+    [Header("移动参数")]
+    public float baseMoveSpeed = 5f;
+    public float baseRotationSpeed = 45f;
+    private float moveSpeed;
+    private float rotationSpeed;
+    public float speedDeviation;
+    public float rotationSpeedDeviation;
+
+    public float squareAvoidanceRadius;
+    [Header("旋转平滑参数")]
+    public float rotationSmoothing = 5f;  // 旋转平滑系数(越大越平滑)
+    private float currentAngleVelocity;   // 当前角度变化速度(用于SmoothDamp)
+    public bool isInGroup = true;
+
+    public Vector2 currentVelocity { get; private set; }
+    private int updateCounter = 0;
+    public int updateInterval = 2;
+
+    public override void Awake()
+    {
+        base.Awake();
+        _bodyCollider = bodyCollider.GetComponent<BoxCollider>();
+    }
+    protected override void OnEnable()
+    {
+        base.OnEnable();
+        isDie = false;
+        _bodyCollider.isTrigger = true;
+        //rb.useGravity = false;
+        currentVelocity = Vector2.zero;
+        moveSpeed = baseMoveSpeed + Random.Range(-speedDeviation, speedDeviation);
+        rotationSpeed = baseRotationSpeed + Random.Range(-rotationSpeedDeviation, rotationSpeedDeviation);
+        ChangeState(CharacterState.Run);
+    }
+    private void Start()
+    {
+        attackController.attackTrigger.attackInfo.damage = damage;
+    }
+
+    public void Init(PolliwogShot _shooter, int _damage)
+    {
+        shooter = _shooter;
+        damage = _damage;
+    }
+
+    public override void BeHit(int damage)
+    {
+        base.BeHit(damage);
+    }
+
+    public override void BeHit(AttackInfo attackInfo, Character attackFrom, int damage = -1)
+    {
+        base.BeHit(attackInfo, attackFrom, damage);
+    }
+
+    public override void ChangeState(CharacterState newState)
+    {
+        if (state == newState)
+        {
+            return;
+        }
+        switch (state)
+        {
+            case CharacterState.Run:
+                if (attackController != null)
+                {
+                    attackController.isAttackTriggerOn = false;
+                    attackController.attackTrigger.gameObject.SetActive(false);
+                }
+                //rb.useGravity = true;
+                isInGroup = false;
+                _bodyCollider.isTrigger = false;
+                if (shooter != null)
+                {
+                    if (shooter.list.Contains(this)) shooter.list.Remove(this);
+                }
+                break;
+        }
+        Debug.Log("从" + state + "切换到" + newState);
+        state = newState;
+        switch (newState)
+        {
+            case CharacterState.Idle:
+                ani.Play("idle", 0, 0);
+                //rb.velocity = Vector3.zero;
+                currentVelocity = Vector3.zero;
+                break;
+            case CharacterState.Run:
+                //rb.useGravity = false;
+                _bodyCollider.isTrigger = true;
+                attackController.isAttackTriggerOn = true;
+                ani.Play("walk", 0, 0);
+                break;
+            case CharacterState.Die:
+                ani.Play("die", 0, 0);
+                isDie = true;
+                dieKeepTime = totalDieKeepTime;
+                DropSouls();
+                break;
+            case CharacterState.HitStun:
+                canNotShotDown = true;
+                break;
+            default:
+                break;
+        }
+    }
+    public override void FixedUpdate()
+    {
+        //updateCounter++;
+        //if (updateCounter > updateInterval) return;
+        //updateCounter = 0;
+        if (PlayersInput.instance.Length > 0)
+        {
+            playerTarget = PlayersInput.instance[0].transform;
+        }
+        else return;
+        OnState();
+    }
+
+    public override Vector3 GetMoveDir()
+    {
+        return base.GetMoveDir();
+    }
+
+    public override void Init()
+    {
+        base.Init();
+        ChangeState(CharacterState.Run);
+    }
+
+    public override void OnState()
+    {
+        if (state == CharacterState.None)
+        {
+            return;
+        }
+        //hurtKeepTime -= Time.deltaTime;
+        dieKeepTime -= Time.deltaTime;
+        invincibleTime -= Time.deltaTime;
+        pastAttackTime += Time.deltaTime;
+        Vector3 leftDir = GetMoveDir();
+        bool isAttack = GetAttack();
+        //Vector3 velocity = rb.velocity;
+        Quaternion targetQt = Quaternion.Euler(Vector3.zero);
+        switch (state)
+        {
+            case CharacterState.Idle:
+                ChangeState(CharacterState.Run);
+                break;
+            case CharacterState.Run:
+                if (isInGroup)
+                {
+                    Vector2 toPlayer = playerTarget.position - transform.position;
+                    float targetAngle = Vector2.SignedAngle(Vector2.left, toPlayer);;
+                    float desiredAngle = targetAngle;
+                    bool applyFlock = Random.Range(0, 100) <= correctionProbability;
+                    if (applyFlock)
+                    {
+                        Vector2 separation = CalculateMove1();
+                        Vector2 alignment = CalculateMove3();
+                        Vector2 cohesion = CalculateMove2();
+
+                        Vector2 combinedMove = (separation * separationWeight +
+                                              cohesion * cohesionWeight +
+                                              alignment * alignmentWeight);
+
+                        float flockAngle = combinedMove != Vector2.zero ?
+                            Vector2.SignedAngle(Vector2.left, combinedMove) : targetAngle;
+                        desiredAngle = Mathf.LerpAngle(targetAngle, flockAngle, flockInfluence);
+                    }
+                    float newAngle = Mathf.SmoothDampAngle(
+                        transform.eulerAngles.z,
+                        desiredAngle,
+                        ref currentAngleVelocity,
+                        1f / rotationSmoothing,
+                        rotationSpeed * 2f,
+                        Time.fixedDeltaTime
+                    );
+
+                    transform.rotation = Quaternion.Euler(0, 0, newAngle);
+                    currentVelocity = -transform.right * moveSpeed;
+                    //rb.velocity = -transform.right * moveSpeed;
+
+                }
+                else
+                {
+                    if (!gameObject.activeSelf) return;
+                    Vector2 toPlayer = shooter.UpdateGroupCenter() - transform.position;
+                    float targetAngle = Vector2.SignedAngle(Vector2.left, toPlayer);
+                    transform.rotation = Quaternion.Euler(0, 0, targetAngle + 360);
+                    currentVelocity = -transform.right * moveSpeed;
+                    //rb.velocity = -transform.right * moveSpeed;
+                    if (toPlayer.magnitude < squareAvoidanceRadius && shooter != null)
+                    {
+                        shooter.list.Add(this);
+                        isInGroup = true;
+                    }
+                }
+                if (!attackController.attackTrigger.gameObject.activeSelf)
+                {
+                    attackController.attackTrigger.gameObject.SetActive(true);
+                }
+                break;
+            case CharacterState.HitStun:
+                currentVelocity = Vector2.zero;
+                hitFeedbackSystem.HitStunUpdate();
+                break;
+            case CharacterState.Die:
+                currentVelocity = Vector2.zero;
+                if (dieKeepTime <= 0)
+                {
+                    if (dieEffect)
+                    {
+                        PoolManager.Instantiate(dieEffect, transform.position);
+                    }
+                    gameObject.SetActive(false);
+                    break;
+                }
+                break;
+            case CharacterState.SpecialStatus_Float:
+                attributeStatus.SpecialStateEffect(SpecialState.FloatState);
+                break;
+            case CharacterState.SpecialStatus_BlowUp:
+                attributeStatus.SpecialStateEffect(SpecialState.BlownUp);
+                break;
+            case CharacterState.SpecialStatus_ShotDown:
+                currentVelocity = Vector2.zero;
+                attributeStatus.SpecialStateEffect(SpecialState.ShotDown);
+                break;
+            case CharacterState.SpecialStatus_Weak:
+                attributeStatus.SpecialStateEffect(SpecialState.Weak);
+                break;
+        }
+        transform.position += (Vector3)currentVelocity * Time.fixedDeltaTime;
+    }
+    public Vector2 CalculateMove1()
+    {
+        if (shooter == null || shooter.list.Count == 0)
+        {
+            return Vector2.zero;
+        }
+        Vector2 avoidDanceMove = Vector2.zero;
+        int nAvoid = 0;
+        foreach (Polliwog fish in shooter.list)
+        {
+            if ((fish.transform.position - transform.position).sqrMagnitude < squareAvoidanceRadius)
+            {
+                nAvoid++;
+                avoidDanceMove += (Vector2)(transform.transform.position - fish.transform.position);
+            }
+        }
+        if (nAvoid > 0)
+        {
+            avoidDanceMove /= nAvoid;
+        }
+        return avoidDanceMove;
+    }
+    public Vector2 CalculateMove2()
+    {
+        if (shooter == null || shooter.list.Count == 0)
+        {
+            return Vector2.zero;
+        }
+        Vector2 cohesionMove = shooter.UpdateGroupCenter();
+
+        cohesionMove -= (Vector2)transform.position;
+        return cohesionMove;
+    }
+    public Vector2 CalculateMove3()
+    {
+        if (shooter == null || shooter.list.Count == 0)
+        {
+            return Vector2.zero;
+        }
+        Vector2 alignmentMove = Vector2.zero;
+
+        return shooter.UpdateGroupVelocity();
+    }
+}

+ 11 - 0
ActionTowerDefense/Assets/Scripts/Characters/Polliwog.cs.meta

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

+ 55 - 0
ActionTowerDefense/Assets/Scripts/PolliwogShot.cs

@@ -0,0 +1,55 @@
+using Sirenix.OdinInspector;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PolliwogShot : SpecialSkills
+{
+    [Header("òòò½Ô¤ÖÆÌå")]
+    public GameObject fishPrefab;
+
+    public Vector2 groupCenter {  get; set; }
+    private float lastUpdateCenterTime;
+
+    private Vector2 groupVelocity;
+    private float lastUpdateVelocityTime;
+
+    public List<Polliwog> list = new List<Polliwog>();
+    public int num;
+
+    public override void Attack()
+    {
+        for (int i = 0; i < num; i++)
+        {
+            GameObject obj = PoolManager.Instantiate(fishPrefab, transform.position + new Vector3(Random.Range(-5,5), Random.Range(-5, 5),0), new Quaternion(0, 0, 0, 0));
+            Polliwog pol = obj.GetComponent<Polliwog>();
+            pol.Init(this, 6);
+            list.Add(pol);
+        }
+    }
+    public Vector3 UpdateGroupCenter()
+    {
+        if (Time.time - lastUpdateCenterTime < 0.1f) return groupCenter;
+        lastUpdateCenterTime = Time.time;
+        groupCenter = Vector2.zero;
+        foreach (Polliwog pol in list)
+        {
+            groupCenter += (Vector2)transform.position;
+        }
+        groupCenter /= list.Count;
+        return groupCenter;
+    }
+
+    public Vector2 UpdateGroupVelocity()
+    {
+        if (Time.time - lastUpdateVelocityTime < 0.1f) return groupVelocity;
+        lastUpdateVelocityTime = Time.time;
+        groupVelocity = Vector2.zero;
+        foreach (Polliwog pol in list)
+        {
+            groupVelocity += pol.currentVelocity;
+        }
+        groupVelocity /= list.Count;
+        return groupVelocity;
+    }
+}

+ 11 - 0
ActionTowerDefense/Assets/Scripts/PolliwogShot.cs.meta

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

+ 16 - 0
ActionTowerDefense/GenerateDatas/json/cfgenemy.json

@@ -174,5 +174,21 @@
     "AttackMarch": 10,
     "MinMoveSpeed": 1,
     "MaxMoveSpeed": 7
+  },
+  {
+    "Name": "蝌蚪",
+    "SpriteName": "1xiatou_icon",
+    "Color": "#FFFFFF",
+    "Type": "Enemy",
+    "EnemyPrefab": "Enemy_Polliwog",
+    "Radius": [
+      2,
+      2
+    ],
+    "HP": 40,
+    "AttackSummon": 0,
+    "AttackMarch": 6,
+    "MinMoveSpeed": 8,
+    "MaxMoveSpeed": 12
   }
 ]

+ 49 - 20
ActionTowerDefense/Luban/.cache.meta

@@ -1,20 +1,49 @@
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/CfgCreateEnemy.cs,3A9B470F9A1FA351330EA275C82C399,1404,1711769724306
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/CfgDynamicEnemy.cs,958E9A723CBC3E549EA8B4F9C93AF82,1411,1753172062969
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/CfgEnemy.cs,AA55E3EA298642B35239B74ED55BFBB,1840,1753172062970
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/CfgSoldierLevel.cs,A08CC235369146A3251A76BCCA2B9E,1381,1753172062968
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleCreateEnemyConfig.cs,21FE43B1C3E3CFE1BE2A25FE59E9CBDF,6029,1753172062965
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleDynamicEnemyConfig.cs,A81776F38E1090D076451986C1A62532,4895,1753172062965
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleEnemyConfig.cs,B959AABD6E72533BB8F544E6A69E145,4518,1753172062965
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/SingleSoldierLevel.cs,C2FD42AC3F2F7D669FA6B62941C4622B,4028,1753172062965
-C:/ActionTowerDefense/ActionTowerDefense/Assets/Gen/Tables.cs,2FED4377FA3B67E342DDC2243B6CC19,1848,1753172062966
-C:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy.json,CDC7F24BAC517B494594615C646DEBD,60968,1753155190488
-C:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgdynamicenemy.json,CFA6D84E38AB5ED69DD4E601D6526A9,4775,1751531958413
-C:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgenemy.json,3FA26A38EB347B71E4E266438BA2A6,3357,1753174556888
-C:/ActionTowerDefense/ActionTowerDefense/GenerateDatas/json/cfgsoldierlevel.json,DEE3EFE0C9543B3069D308A3764BC39,21250,1753238378478
-C:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/__beans__.xlsx,98987DA7288FEE34BCD08EA883D425E,9603,1711190247467
-C:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/__enums__.xlsx,D95915E233EB1E4EB87BE0557A2BFDD,9879,1733113315247
-C:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/__tables__.xlsx,B1D88AC7368453452592134FD3BA0D2,10222,1748399757941
-C:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/出怪表.xlsx,4FBD2C93A850611B7EE1141633517B,33904,1753174555232
-C:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/动态出怪表.xlsx,B5532FE1A253367708A3ECD381EB26,14212,1753174555521
-C:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/怪物表.xlsx,1211728845D639D3B96984FDFC488D8,9328,1753174555772
-C:/ActionTowerDefense/ActionTowerDefense/Luban/Config/Datas/士兵等级属性表.xlsx,B2BC143BC28F65EC76CC882C78691B0,16219,1753238373482
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy0.cs,AB29D72F88DA21F37DF5814301FA54,1411,1754365860724
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy1.cs,F05C262B4431A7AC7FC6AA6DE5913FFD,1411,1754365860734
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy2.cs,F6808C2615297553259061CF6659CDA0,1411,1754365860731
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy3.cs,783D8132F3C1264DE0CDFF7DE647ED3A,1411,1754365860730
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy4.cs,62C7E271ECBF7FD76285ECBC134F2518,1411,1754365860721
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy5.cs,D3C353D6CB939D6EC5E83E76FD788BA4,1411,1754365860727
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy6.cs,BE5ABED2FAD9CBCDB46E6624D105DE9,1411,1754365860725
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy7.cs,F24276191D329CFD49BE3CFE63A6369,1411,1754365860723
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgCreateEnemy8.cs,4E33E8C4126981D54EE97C5D68E6E5D,1411,1754365860727
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgEnemy.cs,AA55E3EA298642B35239B74ED55BFBB,1840,1751443568371
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/CfgSoldierLevel.cs,A08CC235369146A3251A76BCCA2B9E,1381,1751443568368
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy0Config.cs,60407345294E9F703E3290455AAC46E8,5797,1754365860710
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy1Config.cs,872C45DDD94F4535639C3C0479F48,5796,1754365860712
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy2Config.cs,746C6210A6A64B61E5F6BFC62D388C25,5796,1754365860719
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy3Config.cs,62C861EA56196C8E48E981FD49F5873,5797,1754365860713
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy4Config.cs,D079D6FB6A18917E7E19BF7B692ED378,5798,1754365860710
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy5Config.cs,8ED240EDCF42ED6594C86117E3C47,5797,1754365860715
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy6Config.cs,25EC17F3A3796E4A52411973B98D7BA2,5795,1754365860710
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy7Config.cs,361FA82BE8AFCDEF0C6D7259A898FC,5796,1754365860710
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleCreateEnemy8Config.cs,781D8666082D85C9399EF8B2D4CA311,5797,1754365860719
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleEnemyConfig.cs,B959AABD6E72533BB8F544E6A69E145,4518,1751443568363
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/SingleSoldierLevel.cs,C2FD42AC3F2F7D669FA6B62941C4622B,4028,1753947006377
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Assets/Gen/Tables.cs,B95449FF26EEBEAEBD8F07C83622,3789,1754365860734
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy0.json,A2ADAEE9129C47E5B8EC5E127F24610,9123,1754364282529
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy1.json,D670D6CB45F5C8A15EBDD7B3897EE2A9,9123,1754364282530
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy2.json,9253EC2DFB5EC2CADAB9E1FB84D65E28,9123,1754364282533
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy3.json,2B7BECE92DCA726FF3CB4CFFFFFC8472,9123,1754364282533
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy4.json,42BA3DE57DA1D092C53F834931C12B8,9129,1754364282534
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy5.json,D852A6A9E71D3CE5C4F0E91E4644438D,9123,1754364282534
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy6.json,D97E20FC7B34CDDE556FB01DB114C7F,9135,1754364282536
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy7.json,95C88AA2C64868E37692EB26A31FCC,9123,1754364282537
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgcreateenemy8.json,FBEE64FCD78578E67E257180FDF2C232,9115,1754364282538
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgenemy.json,40D77C4379E13C7F8D9226FF3851C4B2,3667,1754365860717
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/GenerateDatas/json/cfgsoldierlevel.json,5A5D69E4CA68E7F321C703FB17428FF,21361,1753840696462
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/__beans__.xlsx,98987DA7288FEE34BCD08EA883D425E,9603,1751380895220
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/__enums__.xlsx,D95915E233EB1E4EB87BE0557A2BFDD,9879,1751380895221
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/__tables__.xlsx,13B055F2AA47B5120E4AB6D3232D84,10562,1754364282551
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/动态出怪表.xlsx,15899EE15CF2654934EA22467A55E69,14212,1753840696464
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/怪物表.xlsx,B41640A09CDA5A2F136D551DDF77B02F,13101,1754365838756
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/士兵等级属性表.xlsx,DCEA10D928F453DDF302A57F02772FB,17030,1753840696465
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表0.xlsx,6DAC09FD98993FE6DE87BCA983064,17585,1754364282540
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表1.xlsx,F2863874F5B679F9F8A24D1683B3F472,17616,1754364282541
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表2.xlsx,275C116A4B8ECE209FCCE6FCB1ABDF7D,17583,1754364282542
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表3.xlsx,F0A767BAB5365517C784DF3F18DD696B,17580,1754364282543
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表4.xlsx,CE4BA86B6DE07DE24D094867A644D2,17583,1754364282544
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表5.xlsx,6996CABB373D4D93C83B3E5625AE26F,17583,1754364282546
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表6.xlsx,AEE2571C29EF76D7A3E7CB6426347FA,17583,1754364282548
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表7.xlsx,9BCF2A2FA51C2029A89FF8608AFE16B4,17579,1754364282548
+D:/桌面/工程文件/Unity/WORK/ActionTowerDefense/Luban/Config/Datas/EnemyCreater/出怪表8.xlsx,C0C8916D10DAD656A1B0489AD0A7F0F9,17573,1754364282549

BIN
ActionTowerDefense/Luban/Config/Datas/怪物表.xlsx