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