A UI Razor component for a countdown HUD. It reads CountdownDrone.Current.DisplaySeconds and renders a big numeric countdown or "GO!" when zero, and hides when negative.
@using Sandbox
@using Sandbox.UI
@inherits PanelComponent
<root>
@if (seconds >= 0)
{
<div class="screen">
@if (seconds == 0)
{
<div class="value go">GO!</div>
}
else
{
<div class="value">@seconds</div>
}
</div>
}
</root>
@code {
// Computed fresh from GameManager.CountdownTimer on every BuildHash / re-render.
// No OnUpdate, no cached state, no [Sync] — mirrors how LobbyBoard reads LobbyManager.
private int seconds => CountdownDrone.Current?.DisplaySeconds ?? -1;
protected override int BuildHash() => seconds;
}