Debug system

This commit is contained in:
2025-05-05 22:50:35 -05:00
parent 631365aa38
commit 2b3cfc0eb7
13 changed files with 180 additions and 139 deletions

View File

@@ -1,29 +0,0 @@
class_name MainMenuScene extends Node3D
var mapDropdown:OptionButton
func _ready() -> void:
# mapDropdown = $UI/VBoxContainer/HBoxContainer/MapDropdown;
# var i:int = 0;
# for map in OverworldSystem.MAPS.keys():
# mapDropdown.add_item(map, i);
# i = i + 1;
pass
func _on_Overworld_pressed():
# var keys:Array[String] = OverworldSystem.MAPS.keys()
# var key:String = keys[mapDropdown.selected]
# print("Overworld pressed" + OverworldSystem.MAPS[key])
print("Overworld pressed")
func _on_Quests_pressed():
print("Quests pressed")
func _on_Custscene_pressed():
print("Cutscene pressed")
func _on_Cooking_pressed():
print("Cooking pressed")
func _on_Battle_pressed():
print("Battle pressed")

View File

@@ -0,0 +1,23 @@
extends Node
var debugMenu:DebugMenu
func _ready() -> void:
debugMenu = $UI/DebugMenu;
debugMenu.hide()
func _process(delta: float) -> void:
if Input.is_action_just_pressed("debug"):
print("Debug key pressed")
if debugMenu.is_visible():
hideMenu()
else:
showMenu()
func showMenu() -> void:
debugMenu.show()
self.get_parent().move_child(self, self.get_parent().get_child_count() - 1)
func hideMenu() -> void:
debugMenu.hide()
self.get_parent().move_child(self, 0)

View File

@@ -0,0 +1 @@
uid://d36d3fnpi8y30

View File

@@ -1,52 +1,34 @@
extends Node
const MainMenu = preload("res://scenes/MainMenu.tscn");
const OverworldScene = preload("res://scenes/Meta/Overworld.tscn");
const OverworldScene = preload("res://scenes/Overworld.tscn");
enum DawnScene {
INITIAL,
MAIN_MENU,
OVERWORLD,
BATTLE,
COOKING
const SCENES:Dictionary[String, PackedScene] = {
"Initial": MainMenu,
"MainMenu": MainMenu,
"Overworld": OverworldScene
};
# static const SCENES:Dictionary[String, PackedScene] = {
# "MainMenu": MainMenu,
# "Overworld": OverworldScene
# };
var scene = "Initial";
var currentScene:Node = null;
var scene:DawnScene = DawnScene.INITIAL;
func _ready() -> void:
currentScene = get_tree().root.get_child(-1);
func getMainMenuScene():
return get_tree().current_scene.get_node("MainMenu");
func setScene(newScene:DawnScene) -> void:
func setScene(newScene:String) -> void:
print("Setting scene to " + str(newScene));
scene = newScene;
if not SCENES.has(newScene):
push_error("Scene not found: " + newScene);
return;
var root = get_tree().root;
print("Current scene: " + str(currentScene));
if currentScene:
currentScene.queue_free();
if newScene == DawnScene.MAIN_MENU:
# Remove all non essential scenes
# Add Main menu scene if not present
var mainMenu = getMainMenuScene();
if mainMenu == null:
var instance = MainMenu.instantiate(PackedScene.GEN_EDIT_STATE_DISABLED);
get_tree().current_scene.add_child(instance);
return
if newScene == DawnScene.OVERWORLD:
# Remove all non essential scenes
var mainMenuScene = getMainMenuScene();
if mainMenuScene != null:
mainMenuScene.queue_free();
# Add Overworld scene if not present
var overworld = get_tree().current_scene.get_node("OverworldScene");
if overworld == null:
var instance = OverworldScene.instantiate(PackedScene.GEN_EDIT_STATE_DISABLED);
get_tree().current_scene.add_child(instance);
return
# error
print("Scene not found: " + str(newScene));
var newSceneInstance = SCENES[newScene].instantiate();
if newSceneInstance:
root.add_child(newSceneInstance);
currentScene = newSceneInstance;

36
scripts/UI/DebugMenu.gd Normal file
View File

@@ -0,0 +1,36 @@
class_name DebugMenu extends VBoxContainer
func _ready() -> void:
$MainMenu.connect("pressed", _on_MainMenu_pressed);
$OverworldOption/Overworld.connect("pressed", _on_Overworld_pressed);
$Quests.connect("pressed", _on_Quests_pressed);
$Cutscene.connect("pressed", _on_Custscene_pressed);
$Cooking.connect("pressed", _on_Cooking_pressed);
$Battle.connect("pressed", _on_Battle_pressed);
var i:int = 0;
for map in OVERWORLD.MAPS.keys():
$OverworldOption/MapDropdown.add_item(map, i);
i = i + 1;
func _on_MainMenu_pressed():
SCENE_MANAGER.setScene("MainMenu");
DEBUG.hideMenu()
func _on_Overworld_pressed():
var keys:Array[String] = OVERWORLD.MAPS.keys()
OVERWORLD.setMap(keys[$OverworldOption/MapDropdown.selected])
SCENE_MANAGER.setScene("Overworld");
DEBUG.hideMenu()
func _on_Quests_pressed():
print("Quests pressed")
func _on_Custscene_pressed():
print("Cutscene pressed")
func _on_Cooking_pressed():
print("Cooking pressed")
func _on_Battle_pressed():
print("Battle pressed")

View File

@@ -0,0 +1 @@
uid://bn2kdjf586e5p