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