extends Control var server_menu_scene = preload("res://scenes/menu/server.tscn") var local_menu_scene = preload("res://scenes/menu/local_game.tscn") var lobby_menu_scene = preload("res://scenes/menu/lobby.tscn") var settings_menu_scene = preload("res://scenes/menu/settings.tscn") func _ready(): game.connect("server_disconnected", self, "_server_disconnected") func _on_online_pressed(): var server_menu = server_menu_scene.instance() get_tree().get_root().add_child(server_menu) hide() func _on_practice_pressed(): var local_menu = local_menu_scene.instance() get_tree().get_root().add_child(local_menu) hide() func _on_settings_pressed(): var settings_menu = settings_menu_scene.instance() get_tree().get_root().add_child(settings_menu) hide() func _on_quit_pressed(): get_tree().quit() func _on_quick_host_pressed(): var err = game.host_game(8128) if err != OK: show_error_dialog("Cannot create Server!") return var lobby_menu = lobby_menu_scene.instance() get_tree().get_root().add_child(lobby_menu) game.set_player(get_tree().get_network_unique_id()) hide() func _on_quick_join_pressed(): game.connect("connection_succeeded", self, "_quick_connection_succeeded") game.connect("connection_failed", self, "_quick_connection_failed") game.join_game("127.0.0.1", 8128) func _quick_connection_succeeded(): var lobby_menu = lobby_menu_scene.instance() get_tree().get_root().add_child(lobby_menu) hide() func _quick_connection_failed(): show_error_dialog("Connection failed!") func _server_disconnected(): show_error_dialog("Server disconnected!") func show_error_dialog(text:String): var dialog = get_node("error_dialog") dialog.set_text(text) dialog.popup_centered()