UI/MainMenu.razor

UI panel component for the main menu implemented as a Razor component. It renders menu buttons (Continue, New Game, LeaderBoards, Exit) and handles clicks to load scenes, reset score/time, load player info, or close the game.

File AccessNetworking
@using Sandbox;
@using Sandbox.UI;
@inherits PanelComponent
@namespace Sandbox

<root>
	<h2>Main Menu</h2>
	<div class="options">
		<div class="button" onclick=@Continue>
			Continue
		</div>
		<div class="button" onclick=@NewGame>
			New Game
		</div>
		
		<div class="button" onclick=@HighScore>
			LeaderBoards
		</div>
		<div class="button" onclick=@Exit>
			Exit
		</div>

	</div>
</root>

@code
{
	[Property] public SceneFile hatselection { get; set; }
	[Property] public SceneFile hatselectionWST { get; set; }
	[Property] public SceneFile hatselectionWS { get; set; }
	[Property] public SceneFile hatselectionWT { get; set; }
	[Property] public SceneFile hatselectionW { get; set; }
	[Property] public SceneFile hatselectionST { get; set; }
	[Property] public SceneFile hatselectionS { get; set; }
	[Property] public SceneFile hatselectionT { get; set; }
	[Property] public SceneFile LBSelect { get; set; }
	[Property] public ChickenControls chicken { get; set; }
	[Property] public SaveLoadSystem load { get; set; }


	void Continue()
	{
		chicken.LoadPlayerInfo();
		ScoreManager.CurrentScore = chicken.cornsave;
		ScoreManager.CurrentTime = chicken.timesave;
		
	}
	void NewGame()
	{
		if (ScoreManager.HighScore > 3000 && ScoreManager.WMCount > 9 && ScoreManager.TofuCount > 9)
		{
			Scene.Load(hatselection);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}
		if (ScoreManager.HighScore <= 3000 && ScoreManager.WMCount <= 9 && ScoreManager.TofuCount > 9)
		{
			Scene.Load(hatselectionWS);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}
		if (ScoreManager.HighScore > 3000 && ScoreManager.WMCount <= 9 && ScoreManager.TofuCount <= 9)
		{
			Scene.Load(hatselectionWT);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}
		if (ScoreManager.HighScore > 3000 && ScoreManager.WMCount <= 9 && ScoreManager.TofuCount > 9)
		{
			Scene.Load(hatselectionW);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}
		if (ScoreManager.HighScore <= 3000 && ScoreManager.WMCount > 9 && ScoreManager.TofuCount <= 9)
		{
			Scene.Load(hatselectionST);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}
		if (ScoreManager.HighScore <= 3000 && ScoreManager.WMCount > 9 && ScoreManager.TofuCount > 9)
		{
			Scene.Load(hatselectionS);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}
		if (ScoreManager.HighScore > 3000 && ScoreManager.WMCount > 9 && ScoreManager.TofuCount <= 9)
		{
			Scene.Load(hatselectionT);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}
		if (ScoreManager.HighScore <= 3000 && ScoreManager.WMCount <= 9 && ScoreManager.TofuCount <= 9)
		{
			Scene.Load(hatselectionWST);
			ScoreManager.CurrentScore = 0;
			ScoreManager.CurrentTime = 0;
		}

	}

	void HighScore()
	{
		Scene.Load(LBSelect);
	}
	void Exit()
	{
		Game.Close();
	}
	
	/// <summary>
	/// the hash determines if the system should be rebuilt. If it changes, it will be rebuilt
	/// </summary>
	
}