From d58e991831a3cda2c6d9f1f7bb16e959fc74cbc8 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Wed, 02 Dec 2020 18:20:17 +0800 Subject: [PATCH] 修改新手引导文字 --- Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs | 59 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 46 insertions(+), 13 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs index a91a3a6..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,9 +144,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