1
0
mirror of https://github.com/JohnBreaux/Boat-Battle.git synced 2024-11-14 21:15:58 +00:00

Working debug menu! No text output yet.

This commit is contained in:
ValliantStorme 2021-10-20 02:26:32 -05:00
parent e894ddcce9
commit 82501d09b1
4 changed files with 69 additions and 22 deletions

View File

@ -22,7 +22,7 @@ transform = Transform2D( 1, 0, 0, 1, 0, -360 )
[node name="VBoxContainer" type="VBoxContainer" parent="debug_canvas"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_bottom = -180.0
margin_bottom = -190.0
custom_constants/separation = 2
__meta__ = {
"_edit_use_anchors_": false
@ -31,13 +31,20 @@ __meta__ = {
[node name="TextEdit" type="TextEdit" parent="debug_canvas/VBoxContainer"]
margin_right = 640.0
margin_bottom = 144.0
grow_vertical = 0
rect_min_size = Vector2( 0, 144 )
text = "Turn 0
Player 1: 0 ships, 0 hits, 0 misses"
readonly = true
syntax_highlighting = true
fold_gutter = true
wrap_enabled = true
minimap_draw = true
[node name="LineEdit" type="LineEdit" parent="debug_canvas/VBoxContainer"]
margin_top = 146.0
margin_right = 640.0
margin_bottom = 170.0
text = ">"
max_length = 256
placeholder_text = "By your command."
caret_blink = true
[connection signal="text_entered" from="debug_canvas/VBoxContainer/LineEdit" to="." method="_on_LineEdit_text_entered"]

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)