using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using Core.Utilities; /** * 无尽模式玩家基地血量管理器 * @Author: chenxin * @Date: 2020-11-05 15:33:11 */ namespace KTGMGemClient { public class EndlessHomeBaseHPManager : MonoBehaviour { /// /// 总血量 /// public int TotalHP { get; private set; } /// /// 当前血量 /// public int CurrentHP { get; private set; } /// /// 爱心列表 /// public List HeartList; // Start is called before the first frame update private void Start() { CurrentHP = TotalHP = HeartList.Count; EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessLoseHeart, LoseHeart); } // Update is called once per frame private void Update() { } /// /// 减少爱心 /// /// 一次减少的数量 private void LoseHeart(int count) { if (CurrentHP == 0) return; int preHP = CurrentHP; int i = TotalHP - CurrentHP; CurrentHP = Mathf.Max(0, CurrentHP - count); int num = preHP - CurrentHP; int end = i + num; while (i < end) { Color c = HeartList[i].color; c.a = 0.27f; HeartList[i].color = c; ++i; } if (CurrentHP == 0) EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessHeartAllLose); } } }