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/UI/EndlessSettlement.cs |   89 ++++++++++++++++++++++++++++++++------------
 1 files changed, 65 insertions(+), 24 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs b/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs
index 52f4d9d..842dfb7 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs
@@ -62,7 +62,7 @@
             EndlessUIStart.bFirstLoaded = false;
             EndlessUIStart.bGameStart = false;
 
-            TowerPlacementGridEndless.GRID_OPENCASH = 100;
+            TowerPlacementGridEndless.GRID_OPENCASH = 200;
 
             SafelyUnsubscribe();
             SceneManager.LoadScene(menuSceneName);
@@ -77,18 +77,55 @@
 
             if (EndlessGameUI.instance.state == EndlessGameUI.State.Building)
                 EndlessGameUI.instance.CancelGhostPlacement();
+            ShowGameOverPanel();
+            //panelUI.SetPlayEffectAC(PlayEffect);
+            //GameObject.Find("UICamera/BottomCanvas").GetComponent<Canvas>().enabled = false;
 
-            GameObject go = Instantiate(Resources.Load<GameObject>("UI/Final/FinalPanel"), GameObject.Find("MainUI").transform);
-            FinalPanel panelUI = go.GetComponent<FinalPanel>();
-            panelUI.SetData("成绩 5关 2波", 777777);
-
-            GameObject.Find("BottomUI").GetComponent<Canvas>().enabled = false;
+            EndlessUIStart.instance.GameOver();
             return;
 
-            RefreshFinalWave();
-            RefreshPropList();
-            SettlementUI.SetActive(true);
-            PlayEffect();
+            // RefreshFinalWave();
+            // 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()
@@ -98,8 +135,8 @@
                 effectObj = Instantiate(EffectPrefabObject);
                 GameObject particleSystemObject = GameObject.Find("ParticleSystemObject");
                 effectObj.transform.SetParent(particleSystemObject.transform, false);
-                effectObj.transform.localPosition = new Vector3(0, 0, 36.6f);
-                effectObj.transform.localScale = new Vector3(3, 3, 3);
+                effectObj.transform.localPosition = new Vector3(0, -51.6f, 36.6f);
+                effectObj.transform.localScale = new Vector3(6, 6, 6);
             }
 
             ParticleSystem ps = effectObj.transform.GetChild(0).GetComponent<ParticleSystem>();
@@ -111,22 +148,25 @@
         /// </summary>
         protected void Victory()
         {
+            ++GameConfig.GameCompletedCount;
             EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessLevelCompleted);
             EndlessUIStart.instance.Pause();
 
-            int showFavorite = PlayerPrefs.GetInt("GemBattleFavorite");
+            ShowPanel();
 
-            if (showFavorite == 0)
-            {
-                GameObject go = Instantiate(Resources.Load<GameObject>("UI/Favorite/FavoritePanel"), this.transform.root);
-                FavoritePanelUI panelUI = go.GetComponent<FavoritePanelUI>();
-                panelUI.SetAC(ShowPanel);
+            // int showFavorite = PlayerPrefs.GetInt("GemBattleFavorite");
 
-            }
-            else
-            {
-                ShowPanel();
-            }
+            // if (showFavorite == 0)
+            // {
+            //     GameObject go = Instantiate(Resources.Load<GameObject>("UI/Favorite/FavoritePanel"), this.transform.parent.parent);
+            //     FavoritePanelUI panelUI = go.GetComponent<FavoritePanelUI>();
+            //     panelUI.SetAC(ShowPanel);
+
+            // }
+            // else
+            // {
+            //     ShowPanel();
+            // }
         }
 
         private void ShowPanel()
@@ -152,7 +192,8 @@
         protected void SafelyUnsubscribe()
         {
             LazyLoad();
-            levelManager.LevelCompleted -= Victory;
+            if (levelManager != null)
+                levelManager.LevelCompleted -= Victory;
         }
 
         /// <summary>

--
Gitblit v1.9.1