فهرست منبع

刺客状态冲突bug

LAPTOP-OM1V99U2\永远de小亡灵 1 سال پیش
والد
کامیت
e8c0b5a146

+ 4 - 16
ActionTowerDefense/Assets/Resources/Prefab/Spirits_Invisible.prefab

@@ -76,7 +76,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &7794457276998281569
 Transform:
   m_ObjectHideFlags: 0
@@ -129,7 +129,6 @@ GameObject:
   - component: {fileID: 6801157681521274923}
   - component: {fileID: 2437299196472462353}
   - component: {fileID: 2437299196472462355}
-  - component: {fileID: 8394241662262430318}
   m_Layer: 12
   m_Name: Spirits_Invisible
   m_TagString: Demonic
@@ -242,6 +241,7 @@ MonoBehaviour:
   rope: {fileID: 0}
   hasHpUp: 0
   beLarger: 0
+  canMove: 1
   foot: {fileID: 2437299196663985756}
   extraRiseGravity: -28.8
   extraFallGravity: -14.4
@@ -266,6 +266,7 @@ MonoBehaviour:
   outlineMats: []
   id: 0
   costMp: 1
+  totalSummonTime: 0.5
   searchState: 0
   attackDistance: 1.5
   canFly: 0
@@ -290,19 +291,6 @@ Rigidbody:
   m_Interpolate: 0
   m_Constraints: 120
   m_CollisionDetection: 0
---- !u!65 &8394241662262430318
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2437299196472462361}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 0
-  m_Enabled: 1
-  serializedVersion: 2
-  m_Size: {x: 3, y: 3, z: 3}
-  m_Center: {x: 0, y: 0, z: 0}
 --- !u!1 &2437299196663985757
 GameObject:
   m_ObjectHideFlags: 0
@@ -320,7 +308,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!4 &2437299196663985746
 Transform:
   m_ObjectHideFlags: 0

+ 6 - 1
ActionTowerDefense/Assets/Scripts/Enemy.cs

@@ -42,6 +42,7 @@ public class Enemy : MoveCharacter
     public float dropSoulAngle = 60f;
 
     public bool isSpiritsAttack;
+    public bool isDash;
 
     private void Awake()
     {
@@ -67,7 +68,11 @@ public class Enemy : MoveCharacter
             OnSearchState();
             
         }
-        OnState();
+        if (!isDash)
+        {
+            OnState();
+        }
+        
     }
 
     public override Vector3 GetMoveDir()

+ 4 - 0
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Assassin.cs

@@ -90,6 +90,7 @@ public class ESpirits_Assassin : MonoBehaviour
                 if (Vector3.Distance(transform.position, enemy.targetCharacter.transform.position)
                     < hateDistance)
                 {
+                    enemy.isDash = true;
                     character = enemy.targetCharacter.transform.position;
                     enemy.ChangeState(CharacterState.Rush);
                     rb.velocity = Vector3.zero;
@@ -129,6 +130,7 @@ public class ESpirits_Assassin : MonoBehaviour
                     {
 
                         enemy.ani.Play("idle", 0, 0);
+                        body.transform.rotation = Quaternion.Euler(Vector3.zero);
                         state = AssassinState.Finish;
                     }
                     else
@@ -181,6 +183,8 @@ public class ESpirits_Assassin : MonoBehaviour
                 {
                     enemy.searchState = SearchState.NoTarget;
                     enemy.ChangeState(CharacterState.Idle);
+                    enemy.isSpiritsAttack = false;
+                    enemy.isDash = false;
                     state = AssassinState.Normal;
                 }
                 break;