(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:
2025-10-10 14:08:23 +08:00
parent 9a797479ff
commit 16b49f3d3a
1900 changed files with 114053 additions and 34157 deletions

View File

@@ -1,7 +1,6 @@
using System;
using Base;
using Map;
using TMPro;
using UnityEngine;
namespace UI
@@ -9,23 +8,32 @@ namespace UI
public class PlayerStateUI : MonoBehaviour, ITick
{
[SerializeField] private BarUI focusedEntityHP;
[SerializeField] private BarUI lastEntityHP;
[SerializeField] private NanorobotsHPUI lastEntityHP;
[SerializeField] private BarUI BaseBuildingHP;
[SerializeField] private MiniMap miniMap;
[SerializeField] private EquipmentUI equipmentUI;
[SerializeField] private CoinCountUI coinCountUI;
[SerializeField] private BuffIconListUI focuseEntityBuffIconList;
[SerializeField] private BuffIconListUI lastEntityBuffIconList;
[SerializeField] private AttackModeUI attackMode;
private void Start()
{
UIInputControl.Instance.OnWindowVisibilityChanged += UIChange;
Clock.AddTick(this);
}
private void OnDestroy()
{
UIInputControl.Instance.OnWindowVisibilityChanged -= UIChange;
Clock.RemoveTick(this);
}
public void Tick()
{
var focusedEntity = Program.Instance.FocusedEntity;
if (focusedEntity && focusedEntity.entityDef != null)
{
focusedEntityHP.Progress =
(float)focusedEntity.AttributesNow.health / focusedEntity.entityDef.attributes.health;
}
}
public void Show()
@@ -37,10 +45,7 @@ namespace UI
equipmentUI.gameObject.SetActive(true);
coinCountUI.gameObject.SetActive(true);
focuseEntityBuffIconList.gameObject.SetActive(true);
lastEntityBuffIconList.gameObject.SetActive(true);
attackMode.gameObject.SetActive(true);
Clock.AddTick(this);
}
public void Hide()
@@ -52,33 +57,15 @@ namespace UI
equipmentUI.gameObject.SetActive(false);
coinCountUI.gameObject.SetActive(false);
focuseEntityBuffIconList.gameObject.SetActive(false);
lastEntityBuffIconList.gameObject.SetActive(false);
attackMode.gameObject.SetActive(false);
Clock.RemoveTick(this);
}
private void Start()
{
UIInputControl.Instance.OnWindowVisibilityChanged += UIChange;
Clock.AddTick(this);
}
private void OnDestroy()
{
UIInputControl.Instance.OnWindowVisibilityChanged -= UIChange;
}
private void UIChange(UIBase ui, bool open)
{
if (ui.exclusive && open)
{
Hide();
}
else
{
Show();
}
}
}
}