1
0
mirror of https://github.com/JohnBreaux/Boat-Battle.git synced 2025-02-04 12:28:35 +00:00

Working debug menu! No text output yet.

This commit is contained in:
2021-10-20 02:26:32 -05:00
committed by John
parent b3da915db8
commit b9947393a5
4 changed files with 69 additions and 22 deletions

View File

@@ -1,6 +1,9 @@
extends Control
# Declare member variables here.
var debug_output
var debug_line = 0
var debug_canvas
var debug_transform
@@ -9,13 +12,15 @@ var menu_position = 0.0
var menu_velocity = 4
# positions when the menu is hidden/active
var menu_hidden = Transform2D(Vector2(1,0), Vector2(0,1), Vector2(0,-180))
var menu_hidden = Transform2D(Vector2(1,0), Vector2(0,1), Vector2(0,-170))
var menu_active = Transform2D(Vector2(1,0), Vector2(0,1), Vector2(0, 0))
# Called when the node enters the scene tree for the first time.
func _ready():
debug_canvas = get_node("debug_canvas")
debug_transform = debug_canvas.get_transform()
debug_output = get_node("debug_canvas/VBoxContainer/TextEdit")
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
@@ -33,8 +38,26 @@ func _unhandled_input(event):
# open debug menu
debug_active = !debug_active;
func _on_LineEdit_text_entered(line):
var command = line.split(' ', true, 1)
if command.size() > 0:
print("match ", command)
match command[0]:
"open":
if command.size() > 1:
MessageBus.emit_signal("change_scene", command[1])
else:
debug_print_line("Usage: open scene")
"kill":
if command.size() > 1:
MessageBus.emit_signal("kill_scene", command[1])
else:
debug_print_line("Usage: kill scene")
"restart":
MessageBus.emit_signal("return_to_title")
else:
pass
func _on_LineEdit_text_entered(new_text):
pass # Replace with function body.
func debug_print_line(string):
debug_output.set_line(debug_line, string)
debug_line += 1

View File

@@ -11,7 +11,8 @@ var debug_enabled = true
# Called when the node enters the scene tree for the first time.
func _ready():
# Connect to signals
MessageBus.connect("change_scene", self, "_on_change_scene")
MessageBus.connect("change_scene", self, "_on_scene_start")
MessageBus.connect("kill_scene", self, "_on_scene_kill")
MessageBus.connect("quit", self, "_on_quit_request")
MessageBus.connect("return_to_title", self, "_on_title_request")
# Create the scenes
@@ -21,21 +22,33 @@ func _ready():
debug_menu = preload("res://scenes/Debug Menu.tscn")
if debug_enabled:
add_child(debug_menu.instance())
_on_change_scene("Title")
_on_scene_start("Title")
func _on_change_scene(scene):
# Creates a new instance of each menu scene
func _on_scene_start(scene):
print ("_on_scene_start(",scene,")")
match scene:
"Singleplayer":
add_child(gameplay.instance())
"Multiplayer":
add_child(gameplay.instance())
"Options":
add_child(options.instance())
"Title":
add_child(title_screen.instance())
"Singleplayer": add_child (gameplay.instance())
"Multiplayer":
add_child (gameplay.instance())
# add_child (multiplayercontroller.instance())
"Options": add_child (options.instance())
"Title": add_child (title_screen.instance())
# Kills all child nodes with name matching `scene`
func _on_scene_kill(scene):
print ("_on_scene_kill(",scene,")")
var c = get_children()
for i in range (c.size()):
if c[i].name == scene:
c[i].queue_free()
# Quits
func _on_quit_request():
print ("_on_quit_request()")
get_tree().quit()
# Kills the current tree and replaces it with a new one
func _on_title_request():
get_tree().change_scene("res://scenes/Main.tscn")
print ("_on_title_request()")
return get_tree().change_scene("res://scenes/Main.tscn")

View File

@@ -3,7 +3,11 @@ extends Node
# Ask for a scene change
signal change_scene(scene_name)
# Ask to kill scene
signal kill_scene(scene_name)
# Ask to quit the game
signal quit
# Ask to return to title screen
signal return_to_title
# Ask to print a string to debug console
signal print_console(string)