From e1a9ed955b247e4cc4615e8700b0ea34d7683224 Mon Sep 17 00:00:00 2001
From: liuzhiwei <liuzhiwei@qq.com>
Date: Tue, 15 Dec 2020 17:19:48 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

---
 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 772198e..842dfb7 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,44 @@
             // 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()
@@ -157,7 +192,8 @@
         protected void SafelyUnsubscribe()
         {
             LazyLoad();
-            levelManager.LevelCompleted -= Victory;
+            if (levelManager != null)
+                levelManager.LevelCompleted -= Victory;
         }
 
         /// <summary>

--
Gitblit v1.9.1