From 452c75675679c44cc39b04bdb7d330d7c5c14d5c Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Tue, 29 Dec 2020 10:48:06 +0800 Subject: [PATCH] 增加多SDK支持。常规使用SDKChannel.KTGM 偶哈游的是空SDK --- Assets/Scripts/TowerDefense/UI/EndlessBossHPManager.cs | 79 ++++++++++++++++++++++++++++----------- 1 files changed, 57 insertions(+), 22 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBossHPManager.cs b/Assets/Scripts/TowerDefense/UI/EndlessBossHPManager.cs index b8fef50..8eefc28 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessBossHPManager.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessBossHPManager.cs @@ -23,6 +23,11 @@ /// </summary> public Image HPImage2; + /// <summary> + /// boss形象 + /// </summary> + public Image BossImage; + private string path = "UI/Endless/Blood/"; /// <summary> @@ -31,26 +36,14 @@ public Sprite BaseBlood; /// <summary> - /// 当前的进度值 - /// </summary> - private float current; - - /// <summary> /// 目标进度值 /// </summary> private float target; /// <summary> - /// 血条消失速度 - /// </summary> - public float Speed = 50f; - - /// <summary> /// 当前颜色索引 /// </summary> private int index; - - private Tween tween; public TextMeshProUGUI WaveNumText; @@ -64,10 +57,39 @@ /// </summary> public Text BossInfo; + private Sequence progressSequence; + + public Text HPInfoText; + + private float totalHP; + + /// <summary> + /// boss总血量 + /// </summary> + /// <value></value> + private float TotalHP { get; set; } + + private float hp; + + /// <summary> + /// 当前血量 + /// </summary> + /// <value></value> + public float CurrentHP + { + get { return hp; } + private set + { + hp = value; + + if (hp < 0.00001f) hp = 0; + } + } + // Start is called before the first frame update private void Start() { - InitHP(); + Init(); } /// <summary> @@ -87,14 +109,15 @@ } /// <summary> - /// 设置当前进度百分比 + /// 设置boss的当前血量 /// </summary> - /// <param name="progress"></param> - public void SetCurrentProgress(float progress) + /// <param name="hp"></param> + public void SetCurrentHP(float hp) { - target = progress; - tween = DOTween.To(() => HPImage2.fillAmount, (v) => HPImage2.fillAmount = v, target, 0.3f); - tween.Play(); + CurrentHP = hp; + target = CurrentHP / TotalHP; + HPInfoText.text = $"HP:{Mathf.Floor(CurrentHP)}/{Mathf.Floor(TotalHP)}"; + DOTween.To(() => HPImage2.fillAmount, (float v) => HPImage2.fillAmount = v, target, 0.2f); } /// <summary> @@ -102,7 +125,6 @@ /// </summary> private void ResetProgress() { - current = 1f; target = 1f; HPImage1.fillAmount = 1; HPImage2.fillAmount = 1; @@ -115,7 +137,6 @@ /// <param name="end"></param> public void SwitchHP(bool end = false) { - tween.Pause(); HPImage2.fillAmount = 0; index = ++index % count; ChangeHPImageIndex(); @@ -126,11 +147,21 @@ /// <summary> /// 初始化血条 /// </summary> - public void InitHP() + public void Init() { index = 0; ResetProgress(); SetHPColor(); + } + + /// <summary> + /// 初始化血量数据 + /// </summary> + /// <param name="totalHP"></param> + public void InitHP(float totalHP) + { + CurrentHP = TotalHP = totalHP; + HPInfoText.text = $"HP:{Mathf.Floor(CurrentHP)}/{Mathf.Floor(TotalHP)}"; } /// <summary> @@ -140,6 +171,10 @@ public void UpdateWave(int wave) { WaveNumText.text = $"x{wave}"; + if (wave == 0) + { + AudioSourceManager.Ins.Play(AudioEnum.BossDie); + } } /// <summary> -- Gitblit v1.9.1