mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 10:25:35 +00:00
71 lines
1.4 KiB
C#
71 lines
1.4 KiB
C#
using Godot;
|
|
using System;
|
|
|
|
public partial class MainMenu : Control
|
|
{
|
|
|
|
[Export]
|
|
public string GameScene { get; set; }
|
|
|
|
[Export]
|
|
public string MainMenuScene { get; set; }
|
|
|
|
[ExportGroup("Debug Menu")]
|
|
[Export]
|
|
public PackedScene DebugMenuTemplate { get; set; }
|
|
|
|
[ExportGroup("Debug Menu")]
|
|
[Export]
|
|
public Control DebugMenuHolder { get; set; }
|
|
|
|
// Called when the node enters the scene tree for the first time.
|
|
public override void _Ready()
|
|
{
|
|
}
|
|
|
|
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
public override void _Process(double delta)
|
|
{
|
|
}
|
|
|
|
private void _on_start_button_pressed()
|
|
{
|
|
if (GameScene != null) {
|
|
GetTree().ChangeSceneToFile(GameScene);
|
|
}
|
|
}
|
|
|
|
private void _on_debug_button_pressed()
|
|
{
|
|
if (DebugMenuTemplate is null || DebugMenuHolder is null) return;
|
|
DebugMenuHolder.Visible = true;
|
|
|
|
var children = DebugMenuHolder.GetChildren();
|
|
foreach (var child in children)
|
|
{
|
|
child.QueueFree();
|
|
}
|
|
|
|
var menu = DebugMenuTemplate.Instantiate<DebugMenu>();
|
|
|
|
DebugMenuHolder.CallDeferred("add_child", menu);
|
|
|
|
menu.DebugMenuClosed += () =>
|
|
{
|
|
DebugMenuHolder.Visible = false;
|
|
};
|
|
}
|
|
|
|
private void _on_mainmenu_button_pressed()
|
|
{
|
|
if (MainMenuScene != null) {
|
|
GlobalState.Instance.GotoScene(MainMenuScene);
|
|
//GetTree().ChangeSceneToFile(MainMenuScene);
|
|
}
|
|
}
|
|
|
|
private void _on_exit_button_pressed()
|
|
{
|
|
GetTree().Quit();
|
|
}
|
|
}
|