From 841b66ef416a727a0c798ad2263b098247cb4aa7 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Fri, 27 Nov 2020 12:00:16 +0800
Subject: [PATCH] buff预览暂停

---
 Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs |   75 ++++++++++++++++++++++++-------------
 1 files changed, 48 insertions(+), 27 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
index f0735f7..8e88ba9 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
@@ -19,17 +19,17 @@
     /// <summary>
     /// 火攻击效果
     /// </summary>
-    public ParticleSystem skillFirePrefab;
+    public GameObject skillFirePrefab;
 
     /// <summary>
     /// 炸弹攻击效果
     /// </summary>
-    public ParticleSystem skillBombPrefab;
+    public GameObject skillBombPrefab;
 
     /// <summary>
     /// 停止移动的Buff特效.
     /// </summary>
-    public ParticleSystem bufStopMovePrefab;
+    public GameObject bufStopMovePrefab;
 
     protected bool zeroState = true;
 
@@ -53,10 +53,36 @@
     {
         if (id >= waveLineList.Count || waveLineList[id] == null) return;
 
-        ParticleSystem playParticle = Instantiate(skillFirePrefab);
-        playParticle.transform.position = EndlessLevelManager.instance.WaveManager.GetWaveEndPos(id);
-        playParticle.Play();
-        Destroy(playParticle.gameObject, playParticle.main.duration);
+        GameObject obj = Instantiate(skillFirePrefab);
+        ParticleSystem ps = obj.GetComponent<ParticleSystem>();
+
+        if (ps == null)
+            ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
+        ps.transform.position = EndlessLevelManager.instance.WaveManager.GetWaveEndPos(id);
+        ps.Play();
+        AudioSourceManager.Ins.Play(AudioEnum.FireSkill);
+
+        Destroy(obj, 5f);
+    }
+
+    /// <summary>
+    /// 在所有兵线上播放特效
+    /// </summary>
+    public void PlayAllWaveLineEffect()
+    {
+        for (int i = 0; i < waveLineList.Count; i++)
+        {
+            GameObject obj = Instantiate(skillFirePrefab);
+            ParticleSystem ps = obj.GetComponent<ParticleSystem>();
+
+            if (ps == null)
+                ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
+            ps.transform.position = EndlessLevelManager.instance.WaveManager.GetWaveEndPos(i);
+            ps.Play();
+            AudioSourceManager.Ins.Play(AudioEnum.FireSkill);
+
+            Destroy(obj, 5f);
+        }
     }
 
     /// <summary>
@@ -66,10 +92,17 @@
     public void PlayBattleAreaBombEffect(Vector3 pos)
     {
         if (skillBombPrefab == null) return;
-        ParticleSystem playParticle = Instantiate(skillBombPrefab);
-        playParticle.transform.position = pos;
-        playParticle.Play();
-        Destroy(playParticle.gameObject, playParticle.main.duration);
+
+        GameObject obj = Instantiate(skillBombPrefab);
+        ParticleSystem ps = obj.GetComponent<ParticleSystem>();
+
+        if (ps == null)
+            ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
+        ps.transform.position = pos;
+        ps.Play();
+        AudioSourceManager.Ins.Play(AudioEnum.LightningSkill);
+
+        Destroy(obj, 5f);
     }
 
     /// <summary>
@@ -111,23 +144,11 @@
     /// 某一个位置攻击塔位放下。
     /// </summary>
     /// <param name="pos"></param>
-    public void AttackTowerFixed(int pos)
+    public void AttackTowerFixed(int pos, bool playEffect = true)
     {
-        if (pos >= waveLineList.Count || waveLineList[pos] == null) return;
+        if (pos >= waveLineList.Count || waveLineList[pos] == null || !playEffect) return;
 
-        int subone = pos - 1;
-        int addone = pos + 1;
-
-        if (subone >= 0)
-            WaveLineFlash(subone);
+        // 无尽模式改为只有一条兵线
         WaveLineFlash(pos);
-        if (addone < waveLineList.Count)
-            WaveLineFlash(addone);
     }
-
-    // Update is called once per frame
-    void Update()
-    {
-
-    }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.1