swb_hud/HealthDisplay.cs
using Sandbox.UI;
using Sandbox.UI.Construct;
using SWB.Player;
using SWB.Shared;
namespace SWB.HUD;
public class HealthDisplay : Panel
{
PlayerBase player;
Label healthLabel;
public HealthDisplay( PlayerBase player )
{
this.player = player;
StyleSheet.Load( "/swb_hud/HealthDisplay.cs.scss" );
Add.Label( "health", "name" );
healthLabel = Add.Label( "", "health" );
}
public override void Tick()
{
var isAlive = player.IsAlive;
SetClass( "hide", !isAlive );
if ( !isAlive ) return;
var healthPer = ((float)player.Health) / 100f;
if ( healthLabel is not null )
{
healthLabel.Text = player.Health.ToString();
healthLabel.Style.FontColor = new Color( 1, 1 * healthPer, 1 * healthPer );
}
}
}