Sboku/UI/PauseMenu.razor
@using SWB.Demo
@using Sandbox;
@using Sandbox.Sboku.Arena
@using Sandbox.UI;
@inherits PanelComponent
@namespace Sandbox.Sboku.UI
<root>
<div class="menu">
<p class="title">Menu</p>
<div class="divider" />
<div class="list">
<div onclick=@Resume class="but">Close</div>
<div onclick=@NewGame class="but">New world</div>
<div onclick=@Exit class="but">Disconnect</div>
</div>
</div>
</root>
@code
{
private DemoPlayer player;
private RoundManager manager;
protected override void OnAwake()
{
manager = Scene.GetComponentInChildren<RoundManager>();
player = Scene.GetComponentInChildren<DemoPlayer>();
if ( player == null )
Log.Error( "[PauseMenu] DemoPlayer not found in Scene!" );
}
protected override void OnStart()
{
GameObject?.Enabled = false; // aluksi piilossa
}
public void Show()
{
GameObject?.Enabled = true;
}
public void Hide()
{
GameObject?.Enabled = false;
}
void Resume()
{
player?.ResumeGame();
Hide();
}
private void NewGame()
{
manager.RoundNumber = 1;
Hide();
this.GameObject.Parent.GetComponent<DemoPlayer>().Respawn();
}
void Exit()
{
// Palaa s&boxin p��valikkoon
Game.Disconnect();
}
}