| | |
| | | private bool isBuffSelectCompleted = true; |
| | | |
| | | /// <summary> |
| | | /// 新手第一关是否完成 |
| | | /// </summary> |
| | | private bool isFirstLevelCompleted = false; |
| | | |
| | | /// <summary> |
| | | /// 切换基地 |
| | | /// </summary> |
| | | /// <param name="index">列索引</param> |
| | |
| | | // 本关卡所有波次全部生成完成 && 敌人全部被清理了,然后就去尝试进入下一关 |
| | | if (EndlessLeveltate == LevelState.SpawningEnemies && IsAllWaveCompleted && NumberOfEnemies == 0) |
| | | { |
| | | // 新手的话,第一关完了暂停 |
| | | if (!GameConfig.IsNewbie) |
| | | { |
| | | if (!UpdateLevel()) |
| | | ChangeLevelState(LevelState.AllEnemiesSpawned); |
| | | } |
| | | else if (!isFirstLevelCompleted) |
| | | { |
| | | isFirstLevelCompleted = true; |
| | | EndlessUIStart.instance.Pause(); |
| | | // 第一关的怪全部被杀光 |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.KillDone); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | ++CurrentLevel; |
| | | IsAllWaveCompleted = false; |
| | | |
| | | // 进入boss虚弱状态 |
| | | Debug.Log("--------------------- 进入boss虚弱状态 ---------------------"); |
| | | |
| | | // 所有关卡全部结束 |
| | | if (CurrentLevel > EndlessPortData.MaxLevel) |
| | | return false; |
| | |
| | | /// </summary> |
| | | private void BeginLevel() |
| | | { |
| | | if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return; |
| | | |
| | | if (!GameConfig.IsNewbie) |
| | | ShowSelectBuffUI(); |
| | | else |
| | | { |
| | | EndlessUIStart.instance.Restart(); |
| | | WaveManager.StartWaves(CurrentLevel); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | --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); |
| | | } |
| | | } |
| | | } |