فهرست منبع

刺客部分bug修改

1243896040 3 هفته پیش
والد
کامیت
58a88aa829
1فایلهای تغییر یافته به همراه12 افزوده شده و 1 حذف شده
  1. 12 1
      ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Assassin.cs

+ 12 - 1
ActionTowerDefense/Assets/Scripts/Spirits/ESpirits_Assassin.cs

@@ -59,6 +59,11 @@ public class ESpirits_Assassin : Enemy
         player = PlayersInput.instance[0];
         lockingNum = 0;
         targetIsPlayer = true;
+        bodyCollider.SetActive(true);
+        dashTrigger.gameObject.SetActive(false);
+        rb.constraints = RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezeRotation;
+        rb.useGravity = false;
+        aimPrefab.SetActive(false);
     }
     public override void OnState()
     {
@@ -226,7 +231,6 @@ public class ESpirits_Assassin : Enemy
         switch (eSpiritsState)
         {
             case ESpiritsState.Normal:
-            case ESpiritsState.Ready:
             case ESpiritsState.ReadyToDown:
                 time = 0;
                 break;
@@ -234,6 +238,10 @@ public class ESpirits_Assassin : Enemy
             case ESpiritsState.Down:
                 dashTrigger.gameObject.SetActive(false);
                 break;
+            case ESpiritsState.Ready:
+                time = 0;
+                rb.constraints &= ~RigidbodyConstraints.FreezePositionY;
+                break;
         }
         eSpiritsState = newESpiritsState;
         switch (eSpiritsState)
@@ -256,6 +264,7 @@ public class ESpirits_Assassin : Enemy
                 attributeStatus.resistances.controlOrder = 1;
                 rb.useGravity = false;
                 rb.velocity = Vector3.zero;
+                rb.constraints |= RigidbodyConstraints.FreezePositionY;
                 bodyCollider.SetActive(false);
                 ani.Play("charge", 0, 0);
                 aimPrefab.transform.localScale = new Vector3(rushDistance / 1.5f, 1, 1);
@@ -282,6 +291,7 @@ public class ESpirits_Assassin : Enemy
                 bodyCollider.SetActive(true);
                 ani.Play("fall_end", 0, 0);
                 rb.useGravity = true;
+                rb.constraints &= ~RigidbodyConstraints.FreezePositionY;
                 break;
             case ESpiritsState.ReadyToDown:
                 ani.Play("charge", 0, 0);
@@ -327,6 +337,7 @@ public class ESpirits_Assassin : Enemy
                 if(player.demonicDic[0].Count == 0)
                 {
                     lockCharacter = player;
+                    lockingNum--;
                 }
                 else
                 {