ソースを参照

修改取消隐身状态时的状态

LAPTOP-OM1V99U2\永远de小亡灵 1 年間 前
コミット
06b73f65fe

+ 1 - 0
ActionTowerDefense/Assets/Scripts/PlayerController.cs

@@ -1212,6 +1212,7 @@ public class PlayerController : MoveCharacter
         if (id == 6 && isInvisible)
         {
             isInvisible = false;
+            ChangeState(CharacterState.Fall);
             return;
  
         }

+ 16 - 25
ActionTowerDefense/Assets/Scripts/Spirits/Spirits_Invisible.cs

@@ -51,45 +51,36 @@ public class Spirits_Invisible : MonoBehaviour
             ||playerController.isClickBtnSouth||playerController.isSpiritSummon
             ||playerController.isSpiritSummon1||playerController.isSpiritSummon2))
         {
-            playerController.rb.useGravity = true;
-            playerController.rb.constraints = RigidbodyConstraints.FreezePositionZ 
-                |RigidbodyConstraints.FreezeRotation;
+            BackToPlayer();
             playerController.isInvisible = false;
-            UI.SetActive(true);
-            beSearchTrigger.SetActive(true);
-            spine.SetActive(true);
-            demonic.ChangeState(CharacterState.Die);
-            gameObject.SetActive(false);
         }
         if(time > 0.97f && playerController.isSpiritSummon3)
         {
-            playerController.rb.useGravity = true;
-            playerController.rb.constraints = RigidbodyConstraints.FreezePositionZ
-                | RigidbodyConstraints.FreezeRotation;
-            UI.SetActive(true);
-            beSearchTrigger.SetActive(true);
-            spine.SetActive(true);
-            demonic.ChangeState(CharacterState.Die);
-            gameObject.SetActive(false);
+            BackToPlayer();
         }
         time += Time.deltaTime;
         
 
         if (time >= duration)
         {
-            playerController.rb.useGravity = true;
-            playerController.rb.constraints = RigidbodyConstraints.FreezePositionZ
-                | RigidbodyConstraints.FreezeRotation;
-            playerController.isInvisible = false;
-            UI.SetActive(true);
-            beSearchTrigger.SetActive(true);
-            spine.SetActive(true);
-            demonic.ChangeState(CharacterState.Die);
-            gameObject.SetActive(false);
+            BackToPlayer();
         }
         else if (time >= duration - lastDuration)
         {
             lastEffect.SetActive(true);
         }
     }
+    public void BackToPlayer()
+    {
+        playerController.rb.useGravity = true;
+        playerController.rb.constraints = RigidbodyConstraints.FreezePositionZ
+            | RigidbodyConstraints.FreezeRotation;
+
+
+        UI.SetActive(true);
+        beSearchTrigger.SetActive(true);
+        spine.SetActive(true);
+        demonic.ChangeState(CharacterState.Die);
+        gameObject.SetActive(false);
+    }
 }