From 0d6a2e6d4b9de57a13c2bcb32148e1eb97ef1b1f Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Tue, 15 Dec 2020 16:53:34 +0800 Subject: [PATCH] 玩家通关打点位置修改为结算的时候统计 --- Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs | 67 ++++++++++++++++++++++++++------- 1 files changed, 52 insertions(+), 15 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs index 9dba89d..39b6abd 100644 --- a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs +++ b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs @@ -23,8 +23,7 @@ { /// <summary> /// 起始关卡 - /// </summary>' - /// <value></value> + /// </summary> protected int startLevel { get; set; } = 1; /// <summary> @@ -191,13 +190,11 @@ /// </summary> /// <value></value> public int SelectBuffNeddLevels { get; set; } - // cx test - // public int SelectBuffNeddLevels { get; set; } = 2; /// <summary> - /// buff是否选择完成 + /// 弹框完成 /// </summary> - private bool isBuffSelectCompleted = true; + private bool isPopDone = true; /// <summary> /// 新手第一关是否完成 @@ -214,6 +211,8 @@ private float tunelLength; private List<Vector3> homeBasePositionList; + + private ElfUpgrade elfPanelUpgrade; /// <summary> /// 根据赛道id(1~5)获得基地坐标 @@ -377,6 +376,7 @@ { EndlessBuffSelect.instance.BuffSelectCompleted += OnBuffSelectCompleted; EndlessGameUI.instance.GameOverEvent += SafelyCallLevelCompleted; + EventCenter.Ins.Add((int)KTGMGemClient.EventType.ElfUpgradePanelClosed, ElfUpgradePanelClosed); homeBasePositionList = new List<Vector3>(); tunelLength = Mathf.Abs(StartingNodeList[0].transform.position.z - EndNodeList[0].transform.position.z); @@ -404,10 +404,9 @@ CurrencyGainer.Tick(Time.deltaTime); } - // buff选择完成,开始波次 - if (!isBuffSelectCompleted) + if (!isPopDone) { - isBuffSelectCompleted = true; + isPopDone = true; if (CurrentLevel > startLevel) WaveManager.InitPort(CurrentLevel); EndlessUIStart.instance.Restart(); @@ -534,6 +533,8 @@ { if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return; + EndlessBossCtrl.instance.ClearBoss(); + if (CurrentLevel == startLevel) WaveManager.InitPort(CurrentLevel); @@ -541,12 +542,32 @@ { // buff池的初始化要从正式关卡算起,不算新手关 EndlessBuffData.InitEndlessBuffPool(GameConfig.IsNewbieStart ? CurrentLevel - EndlessPortData.NewbieTotalLevel : CurrentLevel); - ShowSelectBuffUI(); + PopUpPanel(); + EndlessRandomTower.instance.SetCountDown(false); } else { EndlessUIStart.instance.Restart(); WaveManager.StartWaves(CurrentLevel); + } + } + + /// <summary> + /// 弹出面板 + /// </summary> + private void PopUpPanel() + { + EndlessUIStart.instance.Pause(); + List<List<EndlessPortConfig>> list = EndlessPortData.GetLevelWaveData(CurrentLevel); + + if (list.Count > 0) + { + int level = list[0][0].Config.evolution_lv; + + if (level > 0) + ShowElfUpgradePanel(level); + else + ShowSelectBuffUI(); } } @@ -560,27 +581,43 @@ if (list.Count == 0) { - isBuffSelectCompleted = false; + isPopDone = false; return; } - EndlessUIStart.instance.Pause(); EndlessBuffSelect.instance.Refresh(list); EndlessBuffSelect.instance.ShowBuffUI(); } + private void ShowElfUpgradePanel(int level) + { + GameObject elfUpgradeObj = Instantiate(Resources.Load<GameObject>("UI/ElfUpgrade/ElfUpgradePanel"), GameObject.Find("UICamera/BottomCanvas/Panel").transform); + elfPanelUpgrade = elfUpgradeObj.GetComponent<ElfUpgrade>(); + elfPanelUpgrade.SetUpgradeLevel(level); + } + /// <summary> - /// buff选择完成p + /// buff选择完成 /// </summary> /// <param name="index"></param> - public void OnBuffSelectCompleted(int index) + private void OnBuffSelectCompleted(int index) { - isBuffSelectCompleted = false; + isPopDone = false; EndlessBuffManager.instance.AddBuff(EndlessBuffData.GetBuffByIndex(index)); EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessBuffRefresh); } /// <summary> + /// 关闭了精灵升级界面 + /// </summary> + private void ElfUpgradePanelClosed() + { + isPopDone = false; + EndlessGameUI.instance.UpgradeAllTowerMinLevel(elfPanelUpgrade.GetUpgradeLevel() - 1); + EndlessRandomTower.instance.SetCountDown(true, true); + } + + /// <summary> /// Changes the state and broadcasts the event /// </summary> /// <param name="newState">The new state to transitioned to</param> -- Gitblit v1.9.1