chenxin
2020-11-11 515d6439e79793dc903b249cfeb8fc2f217f2e4e
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>