From ab9a718b28a142a0a903d5cc3e091d4d2577856e Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 09 Dec 2020 16:50:07 +0800
Subject: [PATCH] 泡泡炸弹上面加剩余需要击打次数

---
 Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs b/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs
index 6079a17..64fbb44 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessBossSkill/BossSkillBubbleBomb.cs
@@ -2,6 +2,7 @@
 using UnityEngine;
 using TowerDefense.Agents;
 using TowerDefense.Level;
+using TMPro;
 
 /**
  * 泡泡炸弹
@@ -169,6 +170,10 @@
                 config.DestroyTime = bubbleBomb.GetExplodeTime();
                 config.MoveSpeed = SkillData.effect[1];
                 bubbleBombList.Add(config);
+
+                bubbleBomb.Blood.SetPos();
+                bubbleBomb.Blood.SetRemainHitCount(config.NeedAttackCount);
+                bubbleBomb.Blood.ShowBlood();
             }
         }
 
@@ -228,6 +233,15 @@
             {
                 GameObject prefab = Resources.Load<GameObject>(prefabPath);
                 ret = GameObject.Instantiate(prefab);
+                BubbleBombAgent agent = ret.GetComponent<BubbleBombAgent>();
+
+                prefab = Resources.Load<GameObject>($"Prefabs/BubbleBombBlood");
+                GameObject bubbleBombBlood = GameObject.Instantiate(prefab);
+                GameObject bloodUI = GameObject.Find("MainUI/BloodUI");
+                bubbleBombBlood.transform.SetParent(bloodUI.transform, false);
+
+                agent.Blood = bubbleBombBlood.GetComponent<BubbleBombBlood>();
+                agent.Blood.Target = agent;
             }
 
             ret.SetActive(true);
@@ -243,6 +257,8 @@
         {
             if (obj != null)
             {
+                BubbleBombAgent agent = obj.GetComponent<BubbleBombAgent>();
+                agent.Blood.HideBlood();
                 obj.SetActive(false);
                 bubbleBombPool.Add(obj);
             }
@@ -257,6 +273,8 @@
             {
                 GameObject obj = bubbleBombPool[0];
                 bubbleBombPool.Remove(obj);
+                BubbleBombAgent agent = obj.GetComponent<BubbleBombAgent>();
+                GameObject.Destroy(agent.Blood.gameObject);
                 GameObject.Destroy(obj);
             }
         }
@@ -290,6 +308,7 @@
                     if (config.IsAttackDeath || config.IsArrived) return;
 
                     ++config.AttackCount;
+                    config.Agent.Blood.SetRemainHitCount(config.NeedAttackCount - config.AttackCount);
 
                     if (config.AttackCount >= config.NeedAttackCount)
                         AgentDead(config);
@@ -313,6 +332,7 @@
 
                     if (config.IsAttackDeath || config.IsArrived) return;
 
+                    config.Agent.Blood.HideBlood();
                     AgentDead(config);
                     break;
                 }
@@ -349,6 +369,7 @@
         /// <param name="config"></param>
         private void AgentDead(BubbleBombConfig config)
         {
+            config.Agent.Blood.HideBlood();
             config.IsAttackDeath = true;
             AgentInsManager.instance.removeAgent(config.Agent);
             config.Agent.StopNormalEffect();
@@ -361,6 +382,7 @@
         /// <param name="config"></param>
         private void AgentArrived(BubbleBombConfig config)
         {
+            config.Agent.Blood.HideBlood();
             config.IsArrived = true;
             AgentInsManager.instance.removeAgent(config.Agent);
             config.Agent.StopNormalEffect();

--
Gitblit v1.9.1