Add MainMenu scene and script with start and quit functionality
This commit is contained in:
52
Scripts/MainMenu.cs
Normal file
52
Scripts/MainMenu.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using Godot;
|
||||
|
||||
namespace ParasiticGod.Scripts;
|
||||
|
||||
public partial class MainMenu : Node
|
||||
{
|
||||
[Export] private PackedScene _gameScene;
|
||||
[Export] private Button _startButton;
|
||||
[Export] private Button _quitButton;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
if (_startButton != null)
|
||||
{
|
||||
_startButton.Pressed += OnStartButtonPressed;
|
||||
}
|
||||
|
||||
if (_quitButton != null)
|
||||
{
|
||||
_quitButton.Pressed += OnQuitButtonPressed;
|
||||
}
|
||||
}
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
if (_startButton != null)
|
||||
{
|
||||
_startButton.Pressed -= OnStartButtonPressed;
|
||||
}
|
||||
|
||||
if (_quitButton != null)
|
||||
{
|
||||
_quitButton.Pressed -= OnQuitButtonPressed;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnStartButtonPressed()
|
||||
{
|
||||
if (_gameScene == null)
|
||||
{
|
||||
GD.PrintErr("Game scene is not assigned in MainMenu.");
|
||||
return;
|
||||
}
|
||||
|
||||
GetTree().ChangeSceneToPacked(_gameScene);
|
||||
}
|
||||
|
||||
private void OnQuitButtonPressed()
|
||||
{
|
||||
GetTree().Quit();
|
||||
}
|
||||
}
|
1
Scripts/MainMenu.cs.uid
Normal file
1
Scripts/MainMenu.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cbdokimy0qarg
|
Reference in New Issue
Block a user