| | |
| | | /// </summary> |
| | | public List<Node> StartingNodeList; |
| | | |
| | | public List<Node> EndNodeList; |
| | | |
| | | /// <summary> |
| | | /// 已经完成的关卡数量 |
| | | /// </summary> |
| | |
| | | /// 新手第一关是否完成 |
| | | /// </summary> |
| | | private bool isFirstLevelCompleted = false; |
| | | private bool isSecondLevelCompleted = false; |
| | | |
| | | private bool isStopSecondWaveCompleted = false; |
| | | |
| | | /// <summary> |
| | | /// 赛道长度 |
| | | /// </summary> |
| | | private float tunelLength = 31.94f; |
| | | private float tunelLength; |
| | | |
| | | private List<Vector3> homeBasePositionList; |
| | | |
| | |
| | | EndlessGameUI.instance.GameOverEvent += SafelyCallLevelCompleted; |
| | | |
| | | homeBasePositionList = new List<Vector3>(); |
| | | tunelLength = Mathf.Abs(StartingNodeList[0].transform.position.z - EndNodeList[0].transform.position.z); |
| | | |
| | | for (int i = 0; i < StartingNodeList.Count; ++i) |
| | | { |
| | |
| | | if (!UpdateLevel()) |
| | | ChangeLevelState(LevelState.AllEnemiesSpawned); |
| | | } |
| | | else if (!isFirstLevelCompleted) |
| | | { |
| | | isFirstLevelCompleted = true; |
| | | EndlessUIStart.instance.Pause(); |
| | | // 第一关的怪全部被杀光 |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.KillDone); |
| | | } |
| | | // else if (!isFirstLevelCompleted) |
| | | // { |
| | | // isFirstLevelCompleted = true; |
| | | // EndlessUIStart.instance.Pause(); |
| | | // // 第一关的怪全部被杀光 |
| | | // EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.KillDone); |
| | | // } |
| | | // else if (!isSecondLevelCompleted) |
| | | // { |
| | | // Debug.Log("开始第三关???"); |
| | | // isSecondLevelCompleted = true; |
| | | // //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.CreateThirdWave); |
| | | // } |
| | | } |
| | | } |
| | | |
| | |
| | | EndlessScoreManager.instance.AddScore(score); |
| | | EndlessBossSkillManager.instance.ClearSkillList(); |
| | | EndlessBossCtrl.instance.ChangeState(EndlessBossActionState.Death); |
| | | |
| | | if (GameConfig.IsNewbie) |
| | | { |
| | | if (!isFirstLevelCompleted) |
| | | { |
| | | isFirstLevelCompleted = true; |
| | | EndlessUIStart.instance.Pause(); |
| | | // 第一关的怪全部被杀光 |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.KillDone); |
| | | } |
| | | else if (!isSecondLevelCompleted) |
| | | { |
| | | Debug.Log("开始第三关???"); |
| | | isSecondLevelCompleted = true; |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.CreateThirdWave); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public void NewbieUpdateLevel() |
| | | { |
| | | ++CurrentLevel; |
| | | EndlessBuffData.InitEndlessBuffPool(CurrentLevel); |
| | | WaveManager.InitPort(CurrentLevel); |
| | | IsAllWaveCompleted = false; |
| | | EndlessUIStart.instance.Restart(); |
| | |
| | | { |
| | | if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return; |
| | | |
| | | EndlessBuffData.InitEndlessBuffPool(CurrentLevel); |
| | | |
| | | if (CurrentLevel == startLevel) |
| | | |
| | | WaveManager.InitPort(CurrentLevel); |
| | | |
| | | if (!GameConfig.IsNewbie) |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// buff选择完成 |
| | | /// buff选择完成p |
| | | /// </summary> |
| | | /// <param name="index"></param> |
| | | public void OnBuffSelectCompleted(int index) |
| | |
| | | /// </summary> |
| | | public void StopSecondWave() |
| | | { |
| | | Debug.LogError("--------------------- 停止第二关出怪 ---------------------"); |
| | | if (!isStopSecondWaveCompleted) |
| | | { |
| | | isStopSecondWaveCompleted = true; |
| | | PauseWave(); |
| | | } |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.SkillStep); |
| | | //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.SkillStep); |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.DragStep); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |