From 90b098fe0b1219a4a2c23aef55a3e8366fd1fcdf Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 18 Nov 2020 12:29:52 +0800
Subject: [PATCH] 新增buff验证测试

---
 Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs |   39 ++++++++++++++++++++++++++-------------
 1 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
index a91a3a6..05623dd 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,16 @@
     {
         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>
@@ -66,10 +72,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,9 +124,9 @@
     /// 某一个位置攻击塔位放下。
     /// </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;
 
         // 无尽模式改为只有一条兵线
         WaveLineFlash(pos);

--
Gitblit v1.9.1