From 38136a34de9aa36bf15ec7471abd56e2cba6c26f Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Tue, 27 Oct 2020 17:39:17 +0800 Subject: [PATCH] 修改无尽模式新手引导流程能全部跑通了 --- Assets/Scripts/TowerDefense/Level/EndlessWave.cs | 26 +++++++++++++++++++++++--- 1 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWave.cs b/Assets/Scripts/TowerDefense/Level/EndlessWave.cs index 3ac8f69..e1d73ae 100644 --- a/Assets/Scripts/TowerDefense/Level/EndlessWave.cs +++ b/Assets/Scripts/TowerDefense/Level/EndlessWave.cs @@ -46,6 +46,11 @@ public event Action WaveCompleted; /// <summary> + /// 有新的敌人生成 + /// </summary> + public event Action SpawnNewAgent; + + /// <summary> /// 波次发生改变 /// </summary> public event Action WaveChanged; @@ -86,7 +91,7 @@ spawnedEnemies = 0; SpawnCurrent(); - spawnTimer = new RepeatingTimer(data.Config.interval / 3000f, SpawnCurrent); + spawnTimer = new RepeatingTimer(data.Config.interval / 1000f, SpawnCurrent); StartTimer(spawnTimer); } @@ -99,14 +104,25 @@ isWaveStoped = true; } + public void PauseWave() + { + PauseTimer(spawnTimer); + isWaveStoped = true; + } + + public void RestartWave() + { + StartTimer(spawnTimer); + isWaveStoped = false; + } + /// <summary> /// Handles spawning the current agent and sets up the next agent for spawning /// 在场景内孵化出来一个Boss,这个核心函数最后被规则性的数据接管 /// </summary> protected virtual void SpawnCurrent() { - if (isWaveStoped) - return; + if (isWaveStoped) return; if (!TrySetupNextSpawn()) { @@ -115,7 +131,11 @@ SafelyBroadcastWaveCompletedEvent(); } else + { ++spawnedEnemies; + if (SpawnNewAgent != null) + SpawnNewAgent(); + } } /// <summary> -- Gitblit v1.9.1