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);
}
}
}