diff options
Diffstat (limited to 'scripts/ServerUI.gd')
| -rw-r--r-- | scripts/ServerUI.gd | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/ServerUI.gd b/scripts/ServerUI.gd new file mode 100644 index 0000000..1acf9eb --- /dev/null +++ b/scripts/ServerUI.gd @@ -0,0 +1,38 @@ +extends Node2D + + +var server +onready var console = get_node("Console") + +var is_running :bool = false + +func _ready(): + $CmdPrompt.ui_ref = self + +func hide_init_fields(): + for node in get_tree().get_nodes_in_group("init_fields"): + node.visible = false + $StopButton.visible = true + +func show_init_fields(): + for node in get_tree().get_nodes_in_group("init_fields"): + node.visible = true + $StopButton.visible = false + +func start_server(): + console.add_line("Server starting...") + is_running = true + + server = preload("res://scenes/Server.tscn").instance() + $CmdPrompt.server_ref = server + server.start_server($ServerName.text, $MOTD.text, $PlayerCount.value, $MapPath.text, $IP.text, $Port.value, get_tree().get_root(), console, "add_line") + + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + hide_init_fields() + +func stop_server(): + server.stop_server() + is_running = false + $CmdPrompt.server_ref = null + + show_init_fields() |
