From aadfae81e6a511cd2c062ab0b05f3ee3419f1a7f Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Wed, 23 Dec 2020 20:15:14 +0800 Subject: [PATCH] 选中BUFF塔播放相应的特效 --- Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs | 46 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 41 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs b/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs index 0048b14..b6f1ab3 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs @@ -77,10 +77,7 @@ if (EndlessGameUI.instance.state == EndlessGameUI.State.Building) EndlessGameUI.instance.CancelGhostPlacement(); - - GameObject go = Instantiate(Resources.Load<GameObject>("UI/Final/FinalPanel"), GameObject.Find("UICamera/BottomCanvas").transform); - FinalPanel panelUI = go.GetComponent<FinalPanel>(); - panelUI.SetData($"{EndlessLevelManager.instance.CurrentLevel}关 {EndlessLevelManager.instance.WaveManager.CurrentWaveIndex}波", EndlessScoreData.CurrentSocre); + ShowGameOverPanel(); //panelUI.SetPlayEffectAC(PlayEffect); //GameObject.Find("UICamera/BottomCanvas").GetComponent<Canvas>().enabled = false; @@ -91,6 +88,43 @@ // RefreshPropList(); // SettlementUI.SetActive(true); // PlayEffect(); + } + + private void ShowGameOverPanel() + { + EndlessRandomTower.instance.SetCountDown(false); + EndlessRandomTower.instance.SetPS(false); + + GameObject go = Instantiate(Resources.Load<GameObject>("Prefabs/GameOverPanel"), GameObject.Find("UICamera/BottomCanvas").transform); + EventCenter.Ins.Add((int)KTGMGemClient.EventType.GameOverEnd, GameOverEnd); + } + + private void GameOverEnd() + { + EventCenter.Ins.Remove((int)KTGMGemClient.EventType.GameOverEnd, GameOverEnd); + ShowFinalPanel(); + } + + private void ShowFinalPanel() + { + GameObject go = Instantiate(Resources.Load<GameObject>("UI/Final/FinalPanel"), GameObject.Find("UICamera/BottomCanvas").transform); + FinalPanel panelUI = go.GetComponent<FinalPanel>(); + int level = EndlessLevelManager.instance.CurrentLevel; + int wave = EndlessLevelManager.instance.WaveManager.CurrentWaveIndex; + + if (GameConfig.IsNewbieStart) + { + //panelUI.SetData($"{EndlessLevelManager.instance.CurrentLevel - EndlessPortData.NewbieTotalLevel}关 {EndlessLevelManager.instance.WaveManager.CurrentWaveIndex}波", EndlessScoreData.CurrentSocre); + level = EndlessLevelManager.instance.CurrentLevel - EndlessPortData.NewbieTotalLevel; + Debug.Log($"新手开始玩的,实际关卡:{EndlessLevelManager.instance.CurrentLevel} 新手关卡:{EndlessPortData.NewbieTotalLevel}"); + } + else + { + //panelUI.SetData($"{EndlessLevelManager.instance.CurrentLevel}关 {EndlessLevelManager.instance.WaveManager.CurrentWaveIndex}波", EndlessScoreData.CurrentSocre); + } + panelUI.SetData($"{level}关 {wave}波", EndlessScoreData.CurrentSocre); + + EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessCompletedPort, level, wave); } private void PlayEffect() @@ -113,6 +147,7 @@ /// </summary> protected void Victory() { + ++GameConfig.GameCompletedCount; EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessLevelCompleted); EndlessUIStart.instance.Pause(); @@ -156,7 +191,8 @@ protected void SafelyUnsubscribe() { LazyLoad(); - levelManager.LevelCompleted -= Victory; + if (levelManager != null) + levelManager.LevelCompleted -= Victory; } /// <summary> -- Gitblit v1.9.1