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

<root>
	<div class="gear_button" style="background-image:url(@($"textures/gear.png")); @(Manager.Instance.IsSettingsOpen ? "transform: rotate(158); filter: brightness(3);" : "transform: rotate(0); filter: brightness(1);")" onmouseover=@(() => OnMouseOverButton() ) onclick=@(() => ButtonClicked() )>
	</div>
</root>

@code
{
	public void ButtonClicked()
	{
		Manager.Instance.PlaySfx("click_0");

		Manager.Instance.IsSettingsOpen = !Manager.Instance.IsSettingsOpen;
		Manager.Instance.IsLeaderboardOpen = false;
	}

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

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