mirror of
http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite.git
synced 2025-11-20 09:57:13 +08:00
(client) feat:健康给予,路径优化,结算界面,商店界面 (#60)
Co-authored-by: m0_75251201 <m0_75251201@noreply.gitcode.com> Reviewed-on: http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite/pulls/60
This commit is contained in:
52
Client/Assets/Scripts/UI/BaseBuildingHPBarUI.cs
Normal file
52
Client/Assets/Scripts/UI/BaseBuildingHPBarUI.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user