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