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