Debug menu fix

This commit is contained in:
Marco 2025-02-19 15:45:21 +01:00
commit fe01ac4ef1
9 changed files with 242 additions and 33 deletions

View file

@ -5,14 +5,16 @@ public partial class MainMenu : Control
{
[Export]
public PackedScene GameScene { get; set; }
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; }
@ -29,32 +31,29 @@ public partial class MainMenu : Control
private void _on_start_button_pressed()
{
if (GameScene != null) {
GetTree().ChangeSceneToFile(GameScene.ResourcePath);
GetTree().ChangeSceneToFile(GameScene);
}
}
private void _on_debug_button_pressed()
{
if (DebugMenuTemplate is not null && DebugMenuHolder is not null)
if (DebugMenuTemplate is null || DebugMenuHolder is null) return;
DebugMenuHolder.Visible = true;
var children = DebugMenuHolder.GetChildren();
foreach (var child in children)
{
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;
};
child.QueueFree();
}
var menu = DebugMenuTemplate.Instantiate<DebugMenu>();
DebugMenuHolder.CallDeferred("add_child", menu);
menu.DebugMenuClosed += () =>
{
DebugMenuHolder.Visible = false;
};
}
private void _on_mainmenu_button_pressed()