FunGame-Godot/scripts/CharacterStatus.cs
2026-02-03 01:38:51 +08:00

66 lines
2.5 KiB
C#

using Godot;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.GodotGame
{
public partial class CharacterStatus : Panel
{
[Export]
public long CharacterId { get; set; }
[Export]
public TextureRect Image { get; set; }
[Export]
public ProgressBar HPBar { get; set; }
[Export]
public ProgressBar MPBar { get; set; }
[Export]
public ProgressBar EPBar { get; set; }
[Export]
public Label HP { get; set; }
[Export]
public Label MP { get; set; }
[Export]
public Label EP { get; set; }
[Export]
public Label Level { get; set; }
public void UpdateLabel()
{
if (CharacterId == 1)
{
HPBar.MaxValue = GameConstant.Characters[1].MaxHP;
HPBar.Value = GameConstant.Characters[1].HP;
MPBar.MaxValue = GameConstant.Characters[1].MaxMP;
MPBar.Value = GameConstant.Characters[1].MP;
EPBar.MaxValue = General.GameplayEquilibriumConstant.MaxEP;
EPBar.Value = GameConstant.Characters[1].EP;
HP.Text = $"{GameConstant.Characters[1].HP:0.##} / {GameConstant.Characters[1].MaxHP:0.##}";
MP.Text = $"{GameConstant.Characters[1].MP:0.##} / {GameConstant.Characters[1].MaxMP:0.##}";
EP.Text = $"{GameConstant.Characters[1].EP:0.##} / {General.GameplayEquilibriumConstant.MaxEP:0.##}";
Level.Text = GameConstant.Characters[1].ToStringWithLevelWithOutUser();
}
else if (CharacterId == 2)
{
HPBar.MaxValue = GameConstant.Characters[2].MaxHP;
HPBar.Value = GameConstant.Characters[2].HP;
MPBar.MaxValue = GameConstant.Characters[2].MaxMP;
MPBar.Value = GameConstant.Characters[2].MP;
EPBar.MaxValue = General.GameplayEquilibriumConstant.MaxEP;
EPBar.Value = GameConstant.Characters[2].EP;
HP.Text = $"{GameConstant.Characters[2].HP:0.##} / {GameConstant.Characters[2].MaxHP:0.##}";
MP.Text = $"{GameConstant.Characters[2].MP:0.##} / {GameConstant.Characters[2].MaxMP:0.##}";
EP.Text = $"{GameConstant.Characters[2].EP:0.##} / {General.GameplayEquilibriumConstant.MaxEP:0.##}";
Level.Text = GameConstant.Characters[2].ToStringWithLevelWithOutUser();
}
}
}
}