Преглед изворни кода

敌方刺客蓄力不显示蓄力特效bug

LAPTOP-OM1V99U2\永远de小亡灵 пре 1 година
родитељ
комит
2d4b83cd18
1 измењених фајлова са 15 додато и 10 уклоњено
  1. 15 10
      ActionTowerDefense/Assets/Scripts/Enemy.cs

+ 15 - 10
ActionTowerDefense/Assets/Scripts/Enemy.cs

@@ -72,7 +72,7 @@ public class Enemy : MoveCharacter
 
     private void Awake()
     {
-
+        aimDistance = rushTime * rushSpeed / 2;
     }
 
     private void Start()
@@ -361,7 +361,7 @@ public class Enemy : MoveCharacter
             case CharacterState.Fall:
                 if (foot.TrigGround || canFly)
                 {
-                    if (isFindPlayer)
+                    if (isFindingPlayer)
                     {
                         ChangeState(CharacterState.FindPlayer);
                     }
@@ -481,7 +481,9 @@ public class Enemy : MoveCharacter
                 break;
             case CharacterState.ReadyToRush:
                 time += Time.deltaTime;
-
+                aimEffect.SetActive(true);
+                rb.constraints = RigidbodyConstraints.FreezeAll;
+                ReadyToDash(rushEndPos + Vector3.up, transform.position + Vector3.up);
                 if (time >= readyCD)
                 {
                     time = 0;
@@ -498,6 +500,7 @@ public class Enemy : MoveCharacter
                 break;
             case CharacterState.RushAttack:
                 time += Time.deltaTime;
+                dashEffect.canHit = true;
                 Rush();
                 if (time >= rushTime)
                 {
@@ -528,8 +531,10 @@ public class Enemy : MoveCharacter
                 }
                 break;
             case CharacterState.DownRush:
+                
                 if (transform.position.y > 0)
                 {
+                    dashEffect.canHit = true;
                     Rush();
                 }
                 if (foot.TrigGround || transform.position.y <= -1)
@@ -593,19 +598,21 @@ public class Enemy : MoveCharacter
                 isFindPlayer = false;
                 break;
             case CharacterState.ReadyToRush:
-
+                time = 0;
                 aimEffect.SetActive(false);
                 aimEffect.transform.localScale = Vector3.zero;
                 rb.constraints =
                     RigidbodyConstraints.FreezePositionZ | RigidbodyConstraints.FreezeRotation;
                 break;
             case CharacterState.RushAttack:
+                time = 0;
                 dashEffect.canHit = false;
                 rb.velocity = Vector3.zero;
                 bodyTrans.rotation = Quaternion.Euler(Vector3.zero);
 
                 break;
             case CharacterState.ReadyToDownRush:
+                time = 0;
                 rb.constraints =
                     RigidbodyConstraints.FreezePositionZ | RigidbodyConstraints.FreezeRotation;
 
@@ -618,6 +625,7 @@ public class Enemy : MoveCharacter
                 transform.position = new Vector3(transform.position.x, -1, 0);
                 break;
             case CharacterState.FinishRush:
+                time = 0;
                 searchState = SearchState.NoTarget;
                 noOnSearchState = false;
                 ani.Play("idle", 0, 0);
@@ -718,6 +726,7 @@ public class Enemy : MoveCharacter
                 break;
             case CharacterState.FindPlayer:
                 isFindPlayer = false;
+                isFindingPlayer = true;
                 noOnSearchState = true;
                 ChosePlayer();
                 ani.Play("walk", 0, 0);
@@ -726,13 +735,10 @@ public class Enemy : MoveCharacter
             case CharacterState.ReadyToRush:
                 time = 0;
                 ani.Play("charge", 0, 0);
-                aimEffect.SetActive(true);
-                aimDistance = rushTime * rushSpeed / 2;
-                rb.constraints = RigidbodyConstraints.FreezeAll;
-                ReadyToDash(rushEndPos + Vector3.up, transform.position + Vector3.up);
+                
                 break;
             case CharacterState.RushAttack:
-                dashEffect.canHit = true;
+                
                 targetDir =
                         (rushEndPos - transform.position).normalized;
                 ani.Play("rush_attack", 0, 0);
@@ -746,7 +752,6 @@ public class Enemy : MoveCharacter
                 time = 0;
                 targetDir = Vector3.down;
                 ani.Play("rush_attack", 0, 0);
-                dashEffect.canHit = true;
                 break;
             case CharacterState.FinishRush:
                 time = 0;