From f2f4e1e45981bb294a5221ade7b4646cc3e29d35 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 11 Nov 2020 18:56:44 +0800
Subject: [PATCH] 无尽模式分数

---
 Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
index 83dcced..d53e250 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
@@ -5,6 +5,7 @@
 using UnityEngine;
 using TowerDefense.UI.HUD;
 using Core.Utilities;
+using Core.Health;
 
 namespace TowerDefense.Level
 {
@@ -104,6 +105,17 @@
         private void Start()
         {
             HideTunel();
+            EventCenter.Ins.Add<float>((int)KTGMGemClient.EventType.EndlessAgentTaskDamage, OnHit);
+        }
+
+        /// <summary>
+        /// Agent掉血,不管是中毒还是乱七八糟的掉血,只要掉血就会接收到
+        /// </summary>
+        /// <param name="value"></param>
+        private void OnHit(float value)
+        {
+            float nowHP = EndlessBossHPManager.instance.CurrentHP - value;
+            EndlessBossHPManager.instance.SetCurrentHP(nowHP);
         }
 
         /// <summary>
@@ -168,7 +180,7 @@
             LevelData = EndlessPortData.GetLevelWaveData(level);
             TotalWaves = LevelData.Count;
             CurrentWaveIndex = 0;
-            EndlessBossHPManager.instance.InitHP();
+            EndlessBossHPManager.instance.Init();
             EndlessLevelManager.instance.DecrementEnemies -= DecrementEnemies;
             EndlessLevelManager.instance.DecrementEnemies += DecrementEnemies;
 
@@ -234,8 +246,6 @@
         public void DecrementEnemies(int count)
         {
             RemainEnemies -= count;
-            // 改变血条的进度
-            EndlessBossHPManager.instance.SetCurrentProgress(RemainEnemies * 1f / TotalEnemies);
         }
 
         /// <summary>
@@ -252,10 +262,11 @@
         {
             if (CurrentWaveIndex > 0 || TotalWaves == 1)
                 EndlessBossHPManager.instance.SwitchHP(CurrentWaveIndex == TotalWaves - 1);
-            EndlessBossHPManager.instance.SetBossInfo($"{waveData[0].Config.boss_name}  Lv.{Level}");
+            EndlessBossHPManager.instance.InitHP(EndlessPortData.GetWaveEnemiesTotalHP(Level, CurrentWaveIndex));
+            EndlessBossHPManager.instance.SetBossInfo($"第{Level}关 {waveData[0].Config.boss_name}");
             EndlessBossHPManager.instance.UpdateWave(TotalWaves - CurrentWaveIndex);
-            EndlessBossHPManager.instance.SetBossImage(waveData[0].Config.resource);
             EndlessBossHPManager.instance.ShowHP();
+            EndlessScoreManager.instance.ShowScore();
         }
 
         /// <summary>

--
Gitblit v1.9.1