UI/PanelComponents/PauseMenu.razor
@using Sandbox;
@using Sandbox.UI;
@using Sandbox.Network;
@namespace Battlebugs
@inherits PanelComponent
<root class="@(IsOpen ? "show" : "")">
<label class="title">Paused</label>
<div class="content">
<button onclick=@(() => IsOpen = false)>Resume</button>
<button class="red" onclick=@(() => ReturnToMainMenu())>Quit to Main Menu</button>
</div>
</root>
@code
{
public static PauseMenu Instance { get; private set; }
[Property] SceneFile SceneFile { get; set; }
public bool IsOpen { get; private set; }
protected override void OnAwake()
{
Instance = this;
}
protected override void OnUpdate()
{
if (Input.EscapePressed)
{
IsOpen = !IsOpen;
Input.EscapePressed = false;
}
}
public void ReturnToMainMenu()
{
Networking.Disconnect();
Game.ActiveScene.Load(SceneFile);
}
protected override int BuildHash() => System.HashCode.Combine(IsOpen);
}