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

@@ -17,9 +17,10 @@ config/icon="res://icon.svg"
[autoload]
DEBUG="*res://scenes/Debug.tscn"
BATTLE="*res://scripts/Singletons/Battle.gd"
COOKING="*res://scripts/Singletons/Cooking.gd"
CUTSCENE="*res://scripts/Singletons/Cutscene.gd"
COOKING="*res://scripts/Singletons/Cooking.gd"
ITEM="*res://scripts/Singletons/Item.gd"
OVERWORLD="*res://scripts/Singletons/Overworld.gd"
PAUSE="*res://scripts/Singletons/Pause.gd"
@@ -81,6 +82,11 @@ pause={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
debug={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
[rendering]

21
scenes/Debug.tscn Normal file
View File

@@ -0,0 +1,21 @@
[gd_scene load_steps=3 format=3 uid="uid://klfo3l0dxlht"]
[ext_resource type="Script" uid="uid://d36d3fnpi8y30" path="res://scripts/Singletons/Debug.gd" id="1_5spvt"]
[ext_resource type="PackedScene" uid="uid://verg13jtqwvh" path="res://scenes/UI/DebugMenu.tscn" id="2_c2xgb"]
[node name="Debug" type="Node2D"]
script = ExtResource("1_5spvt")
[node name="UI" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="DebugMenu" parent="UI" instance=ExtResource("2_c2xgb")]
layout_mode = 0
anchors_preset = 0
anchor_bottom = 0.0
grow_vertical = 1

View File

@@ -1,9 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://w1q5eoiejmy3"]
[ext_resource type="Script" uid="uid://cak4lch21nq30" path="res://scripts/Scenes/MainMenuScene.gd" id="1_yqorp"]
[gd_scene format=3 uid="uid://w1q5eoiejmy3"]
[node name="MainMenu" type="Node3D"]
script = ExtResource("1_yqorp")
[node name="UI" type="Control" parent="."]
layout_mode = 3
@@ -13,46 +10,20 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="UI"]
[node name="Label" type="Label" parent="UI"]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 171.0
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -68.0
offset_top = -11.5
offset_right = 68.0
offset_bottom = 11.5
grow_horizontal = 2
grow_vertical = 2
text = "Thyme and Magic
[node name="HBoxContainer" type="HBoxContainer" parent="UI/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 0
[node name="Overworld" type="Button" parent="UI/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Prototype Overworld"
[node name="MapDropdown" type="OptionButton" parent="UI/VBoxContainer/HBoxContainer"]
layout_mode = 2
[node name="Quests" type="Button" parent="UI/VBoxContainer"]
layout_mode = 2
text = "Prototype Quests
"
[node name="Cutscene" type="Button" parent="UI/VBoxContainer"]
layout_mode = 2
text = "Prototype Cutscene"
[node name="Cooking" type="Button" parent="UI/VBoxContainer"]
layout_mode = 2
text = "Prototype Cooking
"
[node name="Battle" type="Button" parent="UI/VBoxContainer"]
layout_mode = 2
text = "Prototype Battle
"
[connection signal="pressed" from="UI/VBoxContainer/HBoxContainer/Overworld" to="." method="_on_Overworld_pressed"]
[connection signal="pressed" from="UI/VBoxContainer/Quests" to="." method="_on_Quests_pressed"]
[connection signal="pressed" from="UI/VBoxContainer/Cutscene" to="." method="_on_Custscene_pressed"]
[connection signal="pressed" from="UI/VBoxContainer/Cooking" to="." method="_on_Cooking_pressed"]
[connection signal="pressed" from="UI/VBoxContainer/Battle" to="." method="_on_Battle_pressed"]
Press tab to bring up debug menu."
horizontal_alignment = 1

View File

@@ -1,20 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://dfwwtbs3ywcyq"]
[ext_resource type="Theme" uid="uid://dm7ee4aqjr2dl" path="res://ui/UI Theme.tres" id="1_3b1y4"]
[ext_resource type="Script" uid="uid://vjr7s045ri4a" path="res://scripts/Scenes/UIScene.gd" id="2_5efuf"]
[ext_resource type="PackedScene" uid="uid://bkx3l0kckf4a8" path="res://scenes/UI/VNTextbox.tscn" id="2_x0c4l"]
[node name="UI" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_3b1y4")
script = ExtResource("2_5efuf")
[node name="VNTextbox" parent="." instance=ExtResource("2_x0c4l")]
visible = false
layout_mode = 1
offset_top = -133.0

View File

@@ -1,9 +1,9 @@
[gd_scene load_steps=3 format=3 uid="uid://tmbx2kit0jyq"]
[ext_resource type="Script" uid="uid://pcncoc6wum4q" path="res://scripts/Scenes/OverworldScene.gd" id="1_yv6j0"]
[ext_resource type="PackedScene" uid="uid://dx6fv8n4jl5ku" path="res://scenes/Maps/TestMap.tscn" id="4_8dvtu"]
[ext_resource type="Script" uid="uid://pcncoc6wum4q" path="res://scripts/Scenes/OverworldScene.gd" id="1_rfscu"]
[ext_resource type="PackedScene" uid="uid://dx6fv8n4jl5ku" path="res://scenes/Maps/TestMap.tscn" id="2_puia7"]
[node name="Overworld" type="Node3D"]
script = ExtResource("1_yv6j0")
script = ExtResource("1_rfscu")
[node name="Some-map" parent="." instance=ExtResource("4_8dvtu")]
[node name="Some-map" parent="." instance=ExtResource("2_puia7")]

49
scenes/UI/DebugMenu.tscn Normal file
View File

@@ -0,0 +1,49 @@
[gd_scene load_steps=2 format=3 uid="uid://verg13jtqwvh"]
[ext_resource type="Script" uid="uid://bn2kdjf586e5p" path="res://scripts/UI/DebugMenu.gd" id="1_pcsq6"]
[node name="DebugMenu" type="VBoxContainer"]
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 171.0
grow_vertical = 2
script = ExtResource("1_pcsq6")
[node name="MainMenu" type="Button" parent="."]
layout_mode = 2
text = "Prototype Main Menu"
[node name="OverworldOption" type="HBoxContainer" parent="."]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 0
[node name="Overworld" type="Button" parent="OverworldOption"]
layout_mode = 2
text = "Prototype Overworld"
[node name="MapDropdown" type="OptionButton" parent="OverworldOption"]
layout_mode = 2
[node name="Quests" type="Button" parent="."]
layout_mode = 2
disabled = true
text = "Prototype Quests
"
[node name="Cutscene" type="Button" parent="."]
layout_mode = 2
disabled = true
text = "Prototype Cutscene"
[node name="Cooking" type="Button" parent="."]
layout_mode = 2
disabled = true
text = "Prototype Cooking
"
[node name="Battle" type="Button" parent="."]
layout_mode = 2
disabled = true
text = "Prototype Battle
"

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