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.
@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>
}