class_name DebugMenu extends VBoxContainer func _ready() -> void: show() $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); # Overworld List var i:int = 0; for map in OVERWORLD.MAPS.keys(): $OverworldOption/MapDropdown.add_item(map, i); i = i + 1; func _exit_tree() -> void: $MainMenu.disconnect("pressed", _on_MainMenu_pressed); $OverworldOption/Overworld.disconnect("pressed", _on_Overworld_pressed); $Quests.disconnect("pressed", _on_Quests_pressed); $Cutscene.disconnect("pressed", _on_Custscene_pressed); $Cooking.disconnect("pressed", _on_Cooking_pressed); $Battle.disconnect("pressed", _on_Battle_pressed); func _process(delta: float) -> void: if Input.is_action_just_pressed("debug"): print("Debug key pressed") if isOpen(): close() else: open() func _on_MainMenu_pressed(): SCENE_MANAGER.setScene("MainMenu"); close() func _on_Overworld_pressed(): var keys:Array[String] = OVERWORLD.MAPS.keys() OVERWORLD.setMap(keys[$OverworldOption/MapDropdown.selected]) SCENE_MANAGER.setScene("Overworld"); close() func _on_Quests_pressed(): close() if UI.QUEST_MENU.isOpen(): UI.QUEST_MENU.close() else: UI.QUEST_MENU.open() func _on_Custscene_pressed(): print("Cutscene pressed") func _on_Cooking_pressed(): print("Cooking pressed") func _on_Battle_pressed(): print("Battle pressed") func open() -> void: show() func close() -> void: hide() func isOpen() -> bool: return visible