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:
		| @@ -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"] | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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") | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user