UI/Player/DeathScreenUI.razor
@using Sandbox;
@using Sandbox.UI;
@namespace Opium
@inherits PanelComponent
@if ( ShouldBeVisible )
{
<root class="visible">
<div class="grow" />
<div class="footer">
<div class="gold uppercase">You are dead</div>
<div class="button" @onclick=@(() => Restart() )>Restart</div>
<div class="button" @onclick=@(() => MainMenu() )>Return to Main Menu</div>
</div>
</root>
}
else
{
<root>
</root>
}
@code
{
[Property] public Opium.PlayerController Player { get; set; }
[Property] public SceneFile MainMenuScene { get; set; }
bool ShouldBeVisible => !Player.IsAlive;
void Restart()
{
Game.ActiveScene.Load( Game.ActiveScene.Source );
}
void MainMenu()
{
Game.ActiveScene.Load( MainMenuScene );
}
protected override int BuildHash()
{
return HashCode.Combine( ShouldBeVisible );
}
}