From bd0ba263761a866ca0d698169d2d83b6a11c35e7 Mon Sep 17 00:00:00 2001 From: CoderM <coderm@qq.com> Date: Thu, 10 Dec 2020 17:04:37 +0800 Subject: [PATCH] CoderM: 增加SDKJSON处理 --- Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs | 98 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 87 insertions(+), 11 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs index 0a7b6aa..8b7f252 100644 --- a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs +++ b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs @@ -32,6 +32,43 @@ /// </summary> public int CurrentLevel { get; set; } = 1; + private float dropRate; + + /// <summary> + /// 当前金币掉率 + /// </summary> + /// <value></value> + public float DropRate + { + get + { + return dropRate; + } + set + { + dropRate = value; + Debug.Log("设置了掉率" + dropRate); + } + } + + private int dropCoin; + + /// <summary> + /// 当前金币 + /// </summary> + /// <value></value> + public int DropCoin + { + get + { + return dropCoin; + } + set + { + dropCoin = value; + } + } + protected static readonly int MAX_TOWER = 5; /// <summary> @@ -154,8 +191,6 @@ /// </summary> /// <value></value> public int SelectBuffNeddLevels { get; set; } - // cx test - // public int SelectBuffNeddLevels { get; set; } = 2; /// <summary> /// buff是否选择完成 @@ -166,6 +201,8 @@ /// 新手第一关是否完成 /// </summary> private bool isFirstLevelCompleted = false; + private bool isSecondLevelCompleted = false; + private bool isThirdLevelCompleted = false; private bool isStopSecondWaveCompleted = false; @@ -300,6 +337,7 @@ /// </summary> public virtual void StartLevel() { + EndlessPortData.Init(); ChangeLevelState(LevelState.SpawningEnemies); SelfPlacementArea.startCoinGenMode(); } @@ -383,13 +421,19 @@ 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); + // } } } @@ -416,6 +460,30 @@ 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; + EndlessUIStart.instance.Pause(); + EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.KillSecondDone); + } + else if (isFirstLevelCompleted && isSecondLevelCompleted && !isThirdLevelCompleted) + { + isThirdLevelCompleted = true; + EndlessUIStart.instance.Pause(); + EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.KillThirdDone); + } + } } /// <summary> @@ -463,12 +531,18 @@ private void BeginLevel() { if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return; + + EndlessBossCtrl.instance.ClearBoss(); if (CurrentLevel == startLevel) WaveManager.InitPort(CurrentLevel); if (!GameConfig.IsNewbie) + { + // buff池的初始化要从正式关卡算起,不算新手关 + EndlessBuffData.InitEndlessBuffPool(GameConfig.IsNewbieStart ? CurrentLevel - EndlessPortData.NewbieTotalLevel : CurrentLevel); ShowSelectBuffUI(); + } else { EndlessUIStart.instance.Restart(); @@ -627,13 +701,15 @@ /// </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); } + + } } \ No newline at end of file -- Gitblit v1.9.1