Quellcode durchsuchen

修复变身法师后被浮空不掉魂bug

SZAND\msx_2 vor 1 Jahr
Ursprung
Commit
7968f857b0

+ 2 - 0
ActionTowerDefense/Assets/Resources/Prefab/Transfiguration/Trans_Float.prefab

@@ -1160,6 +1160,7 @@ MonoBehaviour:
   isFloat: 0
   normalFallSpeed: 10
   rapidFallSpeed: 30
+  curFallSpeed: 0
   floatState: 0
   spinee: {fileID: 0}
   mesh: {fileID: 0}
@@ -1196,3 +1197,4 @@ MonoBehaviour:
   sortingOrder: 2000
   playerID: 0
   hasEffect: 0
+  soulCollector: {fileID: 2509289168932687770}

+ 2 - 0
ActionTowerDefense/Assets/Scripts/Demonic.cs

@@ -21,6 +21,8 @@ public class Demonic : MoveCharacter
     public int playerID;
     public bool hasEffect = false;
 
+    public Collider soulCollector;
+
     private void Awake()
     {
     }

+ 4 - 0
ActionTowerDefense/Assets/Scripts/MoveCharacter.cs

@@ -249,6 +249,10 @@ public class MoveCharacter : Character
                 {
                     GetComponent<PlayerController>().soulCollector.enabled = true;
                 }
+                if (isTran)
+                {
+                    GetComponent<Demonic>().soulCollector.enabled = true;
+                }
             }
         }
     }

+ 9 - 0
ActionTowerDefense/Assets/Scripts/Spirits/FloatEffect.cs

@@ -32,6 +32,15 @@ public class FloatEffect : MonoBehaviour
         else if(isEnemy && other.gameObject.layer == 7)
         {
             Demonic dem = other.GetComponentInParent<Demonic>();
+            if (dem.isTran)
+            {
+                if (dem.pc == null)
+                {
+                    dem.pc = dem.GetComponentInParent<PlayerController>();
+                }
+                dem.pc.lostMp = 0;
+                dem.soulCollector.enabled = false;
+            }
             dem.FloatStateOn();
             FloatData.demIsFloating.Add(dem);
         }