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