UI/SpawnMenu/Spawnlists/SpawnlistFooter.razor.cs

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.

Networking
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();
	}
}