From c1d12cdfd23933a0db431a70ff5e145924864782 Mon Sep 17 00:00:00 2001
From: River Jiang <546213258@qq.com>
Date: Wed, 21 Oct 2020 15:08:29 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

---
 Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs |   47 ++++++++++++++++++-----------------------------
 1 files changed, 18 insertions(+), 29 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
index f8f85e9..bf010e3 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
@@ -11,6 +11,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using TowerDefense.Nodes;
+using TowerDefense.UI.HUD;
 
 namespace TowerDefense.Level
 {
@@ -110,11 +111,6 @@
         public event Action LevelCompleted;
 
         /// <summary>
-        /// Fired when all of the home bases are destroyed
-        /// </summary>
-        public event Action LevelFailed;
-
-        /// <summary>
         /// Fired when the level state is changed - first parameter is the old state, second parameter is the new state
         /// </summary>
         public event Action<LevelState, LevelState> LevelStateChanged;
@@ -151,6 +147,7 @@
         /// </summary>
         /// <value></value>
         public int SelectBuffNeddLevels { get; set; }
+        // cx test
         // public int SelectBuffNeddLevels { get; set; } = 2;
 
         /// <summary>
@@ -283,6 +280,12 @@
             }
         }
 
+        private void Start()
+        {
+            EndlessBuffSelect.instance.BuffSelectCompleted += OnBuffSelectCompleted;
+            EndlessGameUI.instance.GameOverEvent += SafelyCallLevelCompleted;
+        }
+
         /// <summary>
         /// Updates the currency gain controller
         /// </summary>
@@ -297,6 +300,7 @@
             {
                 isBuffSelectCompleted = true;
                 WaveManager.StartWaves(CurrentLevel);
+                EndlessUIStart.instance.Restart();
             }
 
             // 本关卡所有波次全部生成完成 && 敌人全部被清理了,然后就去尝试进入下一关
@@ -384,14 +388,9 @@
                 return;
             }
 
-            EndlessUIStart.instance.SelectBuffUI.SetActive(true);
-
-            for (int i = 0; i < 3; ++i)
-            {
-                GameObject descObj = GameObject.Find($"BuffDesc{i}");
-                Text obj = descObj.GetComponent<Text>();
-                obj.text = list[i].Config.brief;
-            }
+            EndlessUIStart.instance.Pause();
+            EndlessBuffSelect.instance.Refresh(list);
+            EndlessBuffSelect.instance.ShowBuffUI();
         }
 
         /// <summary>
@@ -400,7 +399,6 @@
         /// <param name="index"></param>
         public void OnBuffSelectCompleted(int index)
         {
-            EndlessUIStart.instance.SelectBuffUI.SetActive(false);
             isBuffSelectCompleted = false;
             EndlessBuffManager.instance.AddBuff(EndlessBuffData.GetBuffByIndex(index));
         }
@@ -430,7 +428,7 @@
                     ChangeLevelState(LevelState.Win);
                     break;
                 case LevelState.Lose:
-                    SafelyCallLevelFailed();
+                    SafelyCallLevelCompleted();
                     break;
                 case LevelState.Win:
                     SafelyCallLevelCompleted();
@@ -453,11 +451,11 @@
                 homeBaseDestroyed();
             }
 
-            // If there are no home bases left and the level is not over then set the level to lost
-            if ((NumberOfHomeBasesLeft < 3) && !isGameOver)
-            {
-                ChangeLevelState(LevelState.Lose);
-            }
+            // // If there are no home bases left and the level is not over then set the level to lost
+            // if ((NumberOfHomeBasesLeft < 3) && !isGameOver)
+            // {
+            //     ChangeLevelState(LevelState.Lose);
+            // }
         }
 
         /// <summary>
@@ -482,15 +480,6 @@
         {
             if (DecrementEnemies != null)
                 DecrementEnemies(1);
-        }
-
-        /// <summary>
-        /// Calls the <see cref="levelFailed"/> event
-        /// </summary>
-        protected virtual void SafelyCallLevelFailed()
-        {
-            if (LevelFailed != null)
-                LevelFailed();
         }
 
         /// <summary>

--
Gitblit v1.9.1