ui/FinalScorePanel.razor
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
@attribute [StyleSheet("FinalScorePanel.razor.scss")]

<root>
	<div class="outer_container">
		<div class="title" style="color:@(Manager.Instance.GameState == GameState.Victory ? "#ffffaa" : "#ff6666");">
			@(Manager.Instance.GameState == GameState.Victory ? "Victory!" : "You Died...")
		</div>

		<div class="middle_container">
			@if(Manager.Instance.GameState == GameState.Failure)
			{
				<div class="levels_completed">@($"Completed {Manager.Instance.LevelNum - 1}/{Manager.MAX_LEVEL} Levels")</div>
				<div class="in">in</div>
			}
			else
			{
				<div class="levels_completed" style="opacity: 0.8;">@($"Run Time")</div>
			}

			@{
				TimeSpan time = TimeSpan.FromSeconds(Manager.Instance.FinalRunTime);
			}

			<div class="run_time">
				@(time.TotalSeconds > 3600 ? time.ToString(@"hh\:mm\:ss") : time.ToString(@"mm\:ss"))
			</div>
		</div>

		<div class="button_container">
			<div class="button" onmouseover=@(() => OnMouseOver() ) onclick=@(() => RestartButtonClicked() )>
				<div class="button_icon" style="background-image:url(@($"textures/ui_restart_border.png"));"></div>
				<div class="button_text">Restart</div>
			</div>

			<div class="button" onmouseover=@(() => OnMouseOver() ) onclick=@(() => MenuButtonClicked() )>
				<div class="button_icon" style="background-image:url(@($"textures/ui_door_border.png"));"></div>
				<div class="button_text">Main Menu</div>
			</div>
		</div>
	</div>
</root>

@code
{
	public void MenuButtonClicked()
	{
		Manager.Instance.StartMenu();
		Manager.Instance.PlaySfx("click_0");
	}

	public void RestartButtonClicked()
	{
		Manager.Instance.StartNewRun();
		Manager.Instance.PlaySfx("click_0");
	}

	void OnMouseOver()
	{
		Manager.Instance.PlaySfx("click_1");
	}

	protected override int BuildHash()
	{
		return HashCode.Combine(
			Manager.Instance.LevelNum
		);
	}
}