swb_hud/TimerDisplay.cs
using Sandbox.Sboku.Arena;
using Sandbox.UI;
using Sandbox.UI.Construct;
using SWB.Shared;
namespace SWB.HUD;
internal class TimerDisplay : Panel
{
IPlayerBase player;
RoundManager roundManager;
Label label;
public TimerDisplay(IPlayerBase player, RoundManager roundManager)
{
this.player = player;
this.roundManager = roundManager;
StyleSheet.Load("/swb_hud/TimerDisplay.cs.scss");
var panel = Add.Panel("box");
panel.Add.Label("Timer", "name");
label = panel.Add.Label("", "timer");
}
public override void Tick()
{
var isAlive = player.IsAlive;
var hide = !isAlive || roundManager.Timer == 0;
SetClass("hide", hide);
if (hide) return;
if (label is not null)
{
label.Text = roundManager.Timer.ToString();
label.Style.FontColor = Color.White;
}
}
}