Эх сурвалжийг харах

修改冲击波朝向问题

SZAND\msx_2 1 жил өмнө
parent
commit
05b6e0c724

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Boss/YuMenGuan/ShockWave.prefab

@@ -53209,7 +53209,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &6478658116718174316
 Transform:
   m_ObjectHideFlags: 0

+ 30 - 1
ActionTowerDefense/Assets/Scripts/Boss/YuMenGuan/EyeLaser.cs

@@ -35,10 +35,39 @@ public class EyeLaser : MonoBehaviour
         }
     }
 
+    private void LockPlayer()
+    {
+        Character curTar = null;
+        PlayerController p1 = PlayersInput.instance[0];
+        PlayerController p2 = PlayersInput.instance[1];
+        bool p1Alive = (p1 != null && !p1.isRevive);
+        bool p2Alive = (p2 != null && !p2.isRevive);
+        float dis1 = Vector2.Distance(transform.position, p1.transform.position);
+        float dis2 = Vector2.Distance(transform.position, p2.transform.position);
+        if (p1Alive)
+        {
+            if (p2Alive)
+            {
+                curTar = dis1 > dis2 ? p1 : p2;
+            }
+            else
+            {
+                curTar = p1;
+            }
+        }
+        else
+        {
+            if (p2Alive)
+            {
+                curTar = p2;
+            }
+        }
+    }
+
     public void DrawLine()
     {
         head.transform.position = headPos.position;
-        end.transform.position = endPos.position;
+        end.transform.position = headPos.position;
         head.SetActive(true);
         end.SetActive(true);
         Vector3[] poses = new Vector3[2];

+ 5 - 0
ActionTowerDefense/Assets/Scripts/Boss/YuMenGuan/YuMenGuan.cs

@@ -224,6 +224,7 @@ public class YuMenGuan : Boss
     //·¢Éä³å»÷²¨
     private void LaunchWave(int id, int index)
     {
+        Vector3 dir = Vector3.zero;
         Vector3 dir1 = Vector3.left;
         Vector3 dir2 = Vector3.right;
         Bullet wv1, wv2;
@@ -245,6 +246,8 @@ public class YuMenGuan : Boss
                 wv2.GetComponent<WaveShockDir>().CheckTurn();
                 wv1.BeShoot(this, wave1pos.position, dir1, wave1Damage.damage, wave1Damage.force, wave1Damage.changeHurt, wave1Damage.repelValue, false);
                 wv2.BeShoot(this, wave2pos.position, dir2, wave1Damage.damage, wave1Damage.force, wave1Damage.changeHurt, wave1Damage.repelValue, false);
+                wv1.transform.right = dir;
+                wv2.transform.right = dir;
                 break;
             case 1:
                 ExpandPool(PoolType.wave2, 2);
@@ -262,6 +265,8 @@ public class YuMenGuan : Boss
                 wv2.GetComponent<WaveShockDir>().CheckTurn();
                 wv1.BeShoot(this, wave1pos.position, dir1, wave2Damage[index].damage, wave2Damage[index].force, wave2Damage[index].changeHurt, wave2Damage[index].repelValue, false);
                 wv2.BeShoot(this, wave2pos.position, dir2, wave2Damage[index].damage, wave2Damage[index].force, wave2Damage[index].changeHurt, wave2Damage[index].repelValue, false);
+                wv1.transform.right = dir;
+                wv2.transform.right = dir;
                 break;
             default:
                 break;