Files
Gen_Hack-and-Slash-Roguelite/Client/Assets/Scripts/UI/BaseBuildingHPBarUI.cs

52 lines
1.4 KiB
C#
Raw Normal View History

using System.Collections.Generic;
using System.Linq;
using Base;
using Entity;
using Managers;
using UnityEngine;
namespace UI
{
public class BaseBuildingHPBarUI:MonoBehaviour,ITickUI
{
public BarUI baseBuildingHPBar;
private List<Building> playerBuildings = new();
public void Init()
{
var entities= EntityManager.Instance.FindEntitiesByFaction(Program.Instance.FocusedDimensionId,
AffiliationManager.Instance.PlayerAffiliation);
if (entities is not { Length: > 0 }) return;
foreach (var entity in entities)
{
if(entity.entity is Building playerBuilding)
{
playerBuildings.Add(playerBuilding);
}
}
}
private void OnEnable()
{
Clock.AddTickUI(this);
}
private void OnDisable()
{
Clock.RemoveTickUI(this);
}
public void TickUI()
{
if (!playerBuildings.Any()) return;
float tHp=0;
float nHp=0;
foreach (var playerBuilding in playerBuildings)
{
tHp=playerBuilding.BaseAttributes.health;
nHp=playerBuilding.AttributesNow.health;
}
baseBuildingHPBar.Progress = nHp / tHp;
}
}
}