From 24f59b89e9eabcfe948fc0ba304a8dbec2deda14 Mon Sep 17 00:00:00 2001
From: River Jiang <546213258@qq.com>
Date: Tue, 27 Oct 2020 14:09:47 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

---
 Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs |   55 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
index 367be9a..6045c3c 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
@@ -156,6 +156,11 @@
         private bool isBuffSelectCompleted = true;
 
         /// <summary>
+        /// 新手第一关是否完成
+        /// </summary>
+        private bool isFirstLevelCompleted = false;
+
+        /// <summary>
         /// 切换基地
         /// </summary>
         /// <param name="index">列索引</param>
@@ -306,8 +311,19 @@
             // 本关卡所有波次全部生成完成 && 敌人全部被清理了,然后就去尝试进入下一关
             if (EndlessLeveltate == LevelState.SpawningEnemies && IsAllWaveCompleted && NumberOfEnemies == 0)
             {
-                if (!UpdateLevel())
-                    ChangeLevelState(LevelState.AllEnemiesSpawned);
+                // 新手的话,第一关完了暂停
+                if (!GameConfig.IsNewbie)
+                {
+                    if (!UpdateLevel())
+                        ChangeLevelState(LevelState.AllEnemiesSpawned);
+                }
+                else if (!isFirstLevelCompleted)
+                {
+                    isFirstLevelCompleted = true;
+                    EndlessUIStart.instance.Pause();
+                    // 第一关的怪全部被杀光
+                    EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.KillDone);
+                }
             }
         }
 
@@ -344,9 +360,6 @@
             ++CurrentLevel;
             IsAllWaveCompleted = false;
 
-            // 进入boss虚弱状态
-            Debug.Log("--------------------- 进入boss虚弱状态 ---------------------");
-
             // 所有关卡全部结束
             if (CurrentLevel > EndlessPortData.MaxLevel)
                 return false;
@@ -371,7 +384,15 @@
         /// </summary>
         private void BeginLevel()
         {
-            ShowSelectBuffUI();
+            if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return;
+
+            if (!GameConfig.IsNewbie)
+                ShowSelectBuffUI();
+            else
+            {
+                EndlessUIStart.instance.Restart();
+                WaveManager.StartWaves(CurrentLevel);
+            }
         }
 
         /// <summary>
@@ -496,5 +517,27 @@
                 --WaveManager.TotalWaveLines;
             }
         }
+
+        /// <summary>
+        /// 暂停波次,小怪停止移动,塔停止攻击
+        /// </summary>
+        public void PauseWave()
+        {
+            EndlessUIStart.instance.Pause();
+            AgentInsManager.instance.SetWaveLineCanMove(-1, false, false);
+            WaveManager.PauseAllWave();
+            EndlessGameUI.instance.SetAttackingTowerState(false);
+        }
+
+        /// <summary>
+        /// 恢复波次,小怪
+        /// </summary>
+        public void RestartWave()
+        {
+            EndlessUIStart.instance.Restart();
+            AgentInsManager.instance.SetWaveLineCanMove(-1, true, false);
+            WaveManager.RestartAllWave();
+            EndlessGameUI.instance.SetAttackingTowerState(true);
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1