Prechádzať zdrojové kódy

厨师英灵技能修改-烟雾内免伤100%

SZAND\msx_2 1 rok pred
rodič
commit
bbeb3f69cd

+ 5 - 1
ActionTowerDefense/Assets/Scripts/MoveCharacter.cs

@@ -366,7 +366,7 @@ public class MoveCharacter : Character
     public GameObject reductionEffect;
 
     //伤害减免状态开启(减免程度,减免时长)
-    public void DamageReductionStateOn(float degree, float onTime, GameObject effect)
+    public void DamageReductionStateOn(float degree, GameObject effect)
     {
         if (reductionEffect == null)
         {
@@ -375,6 +375,10 @@ public class MoveCharacter : Character
         reductionEffect.SetActive(true);
         isDamageReduction = true;
         reductionDegree = degree;
+    }
+
+    public void DamageReductionStateToOff(float onTime)
+    {
         Invoke("DamageReductionStateOff", onTime);
     }
 

+ 13 - 1
ActionTowerDefense/Assets/Scripts/Spirits/Spirits_Cook.cs

@@ -16,7 +16,19 @@ public class Spirits_Cook : MonoBehaviour
             MoveCharacter mc = other.GetComponentInParent<MoveCharacter>();
             if (!mc.isDamageReduction)
             {
-                mc.DamageReductionStateOn(reductionDegree, reductionTime, attributeUpEffect);
+                mc.DamageReductionStateOn(reductionDegree, attributeUpEffect);
+            }
+        }
+    }
+
+    private void OnTriggerExit(Collider other)
+    {
+        if (other.gameObject.layer == 6 || other.gameObject.layer == 7)
+        {
+            MoveCharacter mc = other.GetComponentInParent<MoveCharacter>();
+            if (!mc.isDamageReduction)
+            {
+                mc.DamageReductionStateToOff(reductionTime);
             }
         }
     }