Razor UI code-behind for a spawnlist footer panel. Provides create/refresh actions for spawnlists, computes a simple hash based on CanCreate, and opens a SpawnlistCreatePopup that triggers a refresh on creation.
using Sandbox.UI;
namespace Sandbox;
public partial class SpawnlistFooter : Panel
{
protected override int BuildHash() => HashCode.Combine( CanCreate() );
bool CanCreate()
{
return true;
}
void CreatePopup()
{
var popup = new SpawnlistCreatePopup();
popup.Parent = FindPopupPanel();
popup.OnCreated = () => Ancestors.OfType<SpawnlistsPage>().FirstOrDefault()?.RefreshList();
}
void Refresh()
{
Ancestors.OfType<SpawnlistsPage>().FirstOrDefault()?.RefreshList();
}
}