UI/HQ/Elements/ViewButton.razor
@using Sandbox.UI;
@inherits Panel
@namespace PlanetMeat
<root>
<button onmousedown=@ToggleView class="click-active @ViewPressed">
<span class="mat-icon">@(HqNavigator.GetViewDisplayIcon(View))</span>
<span>#@(HqNavigator.GetViewDisplayName(View))</span>
</button>
</root>
@code
{
public HqNavigator.Views View { get; set; }
private HqNavigator Navigator => HqNavigator.Local;
private HqNavigator.Views CurrentView
{
get => HqNavigator.View;
set => HqNavigator.View = value;
}
private void ToggleView()
{
if (CurrentView == View)
{
if (Game.IsEditor)
{
switch (View)
{
case HqNavigator.Views.Improve:
var meat = Bank.Current.GetAccount("meat");
meat.Profit(100 + meat.Funds * 10);
break;
case HqNavigator.Views.Mission:
Career.Current.HighestRoundCompleted++;
break;
}
}
CurrentView = HqNavigator.Views.None;
}
else
{
CurrentView = View;
}
}
private string ViewPressed => CurrentView == View ? "pressed" : "";
protected override int BuildHash() => System.HashCode.Combine(
CurrentView,
View
);
}