Przeglądaj źródła

修复光球挡不了爆炸问题

LAPTOP-OM1V99U2\永远de小亡灵 10 miesięcy temu
rodzic
commit
ebe833f342

+ 17 - 0
ActionTowerDefense/Assets/Resources/Prefab/ESpirits_Invisible.prefab

@@ -273,6 +273,8 @@ MonoBehaviour:
     changeHurt: 0
     repelValue: 0
   attackTriggers: []
+  addAttackEffect: {fileID: 0}
+  curDamage: 
   targetTypes: 010000000300000002000000
   targetCharacter: {fileID: 0}
   attackTarget: {fileID: 0}
@@ -321,6 +323,7 @@ MonoBehaviour:
   minRotateSpeed: 5
   isFloat: 0
   normalFallSpeed: 10
+  effect: {fileID: 0}
   playerMe: {fileID: 0}
   playerAni: {fileID: 0}
   playerCol: {fileID: 0}
@@ -359,6 +362,12 @@ MonoBehaviour:
   isBeBlownUp: 0
   isBeReboundedX: 0
   isBeReboundedY: 0
+  reboundXSpeed: 0
+  reboundYSpeed: 0
+  willBeComa: 0
+  willComaTime: 0
+  comaDamage: 0
+  willBeFly: 0
   type: 3
   searchState: 0
   attackDistance: 10
@@ -1269,6 +1278,14 @@ PrefabInstance:
       propertyPath: m_IsActive
       value: 0
       objectReference: {fileID: 0}
+    - target: {fileID: 3300381806182711281, guid: a956ce2c24a9a8b4b98cbf27ef623367, type: 3}
+      propertyPath: owner
+      value: 
+      objectReference: {fileID: 3231703488858309205}
+    - target: {fileID: 4201428945599059759, guid: a956ce2c24a9a8b4b98cbf27ef623367, type: 3}
+      propertyPath: owner
+      value: 
+      objectReference: {fileID: 3231703488858309205}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: a956ce2c24a9a8b4b98cbf27ef623367, type: 3}
 --- !u!114 &2061548984477852820 stripped

+ 6 - 2
ActionTowerDefense/Assets/Scripts/Bullet.cs

@@ -60,7 +60,7 @@ public class Bullet : MonoBehaviour
         }
         if(bulletType == BulletType.MagicLock)
         {
-            if(Vector3.Distance(trackTarget.beSearchTrigger.transform.position,transform.position) < 0.5)
+            if(Vector3.Distance(trackTarget.beSearchTrigger.transform.position,transform.position) < 0.1)
             {
                 trackTarget.BeHit(damage, Vector3.zero, false, 0);
                 gameObject.SetActive(false);
@@ -70,7 +70,11 @@ public class Bullet : MonoBehaviour
 
     private void FixedUpdate()
     {
-        flyTime += Time.deltaTime;
+        if (bulletType != BulletType.MagicLock)
+        {
+            flyTime += Time.deltaTime;
+        }
+        
         if(flyTime >= maxFlyTime)
         {
             isGetTarget = true;

+ 13 - 0
ActionTowerDefense/Assets/Scripts/Spirits/SoulBoom.cs

@@ -14,6 +14,8 @@ public class SoulBoom : MonoBehaviour
     public List<MoveCharacter> characters = new List<MoveCharacter>();  //被炸到的对象
 
     public bool canHitTower;      //也对塔造成伤害
+    private bool isInVain;   //击中光球,攻击无效
+    public Character owner;
 
     private void Update()
     {
@@ -65,12 +67,23 @@ public class SoulBoom : MonoBehaviour
 
     private void OnTriggerEnter(Collider other)
     {
+        Photosphere photosphere = other.GetComponentInParent<Photosphere>();
+        if (photosphere)
+        {
+            isInVain = true;
+            photosphere.Reflex(owner.beHitTrigger, attackInfo.damage);
+            return;
+        }
         BeHitTrigger beHitTrigger = other.GetComponent<BeHitTrigger>();
         if (beHitTrigger != null)
         {
             if(other.transform.parent.parent.parent.gameObject.layer == 6
             || other.transform.parent.parent.parent.gameObject.layer == 7)
             {
+                if (other.transform.parent.parent.parent.gameObject.layer == 6 && isInVain)
+                {
+                    return;
+                }
                 MoveCharacter character = other.GetComponentInParent<MoveCharacter>();
                 if (character.rb == null)
                 {