diff --git a/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd b/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd index e706e04..310d81e 100644 --- a/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd +++ b/Game/source/assets/scripts/server_handlers/network_processors/network_setup.gd @@ -4,9 +4,11 @@ var player = load("res://source/entities/player/player_node.tscn") var current_spawn_location_instance_number = 1 var current_player_for_spawn_location_number = null +var mode onready var multiplayer_config_ui = $multiplayer_configure -onready var username_text_edit = $multiplayer_configure/username_text_edit +onready var username_text_edit = $multiplayer_configure/username/username_text_edit +onready var username = $multiplayer_configure/username onready var device_ip_address = $UI/device_ip_address onready var start_game = $UI/start_game @@ -15,6 +17,7 @@ onready var text = $UI/text func _ready() -> void: + username.hide() background_lobby.hide() device_ip_address.hide() text.hide() @@ -64,21 +67,15 @@ func _player_disconnected(id) -> void: PersistentNodes.get_node(str(id)).queue_free() func _on_create_server_pressed(): - if username_text_edit.text != "": - Network.current_player_username = username_text_edit.text - multiplayer_config_ui.hide() - device_ip_address.show() - background_lobby.show() - text.show() - Network.create_server() - instance_player(get_tree().get_network_unique_id()) + username.show() + username_text_edit.call_deferred("grab_focus") + mode = "create" func _on_join_server_pressed(): - if username_text_edit.text != "": - multiplayer_config_ui.hide() - username_text_edit.hide() - Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_browser.tscn"), self) + username.show() + username_text_edit.call_deferred("grab_focus") + mode = "join" func _connected_to_server() -> void: @@ -109,5 +106,23 @@ sync func switch_to_game() -> void: get_tree().change_scene("res://source/levels/trinity_site/trinity_site_level.tscn") +func _on_confirm_pressed(): + if mode == "create": + if username_text_edit.text != "": + Network.current_player_username = username_text_edit.text + multiplayer_config_ui.hide() + device_ip_address.show() + background_lobby.show() + text.show() + Network.create_server() + instance_player(get_tree().get_network_unique_id()) + elif mode == "join": + if username_text_edit.text != "": + multiplayer_config_ui.hide() + #username_text_edit.hide() + Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_browser.tscn"), self) + + func _on_return_pressed(): get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn") + diff --git a/Game/source/scenes/GUI/network_setup.tscn b/Game/source/scenes/GUI/network_setup.tscn index 432e2cb..8adebbc 100644 --- a/Game/source/scenes/GUI/network_setup.tscn +++ b/Game/source/scenes/GUI/network_setup.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=15 format=2] +[gd_scene load_steps=16 format=2] [ext_resource path="res://source/assets/scripts/server_handlers/network_processors/network_setup.gd" type="Script" id=1] [ext_resource path="res://source/fonts/oxygen/Oxygen-Regular.ttf" type="DynamicFontData" id=2] @@ -13,6 +13,12 @@ [ext_resource path="res://source/assets/scripts/ui_element_handlers/UI.gd" type="Script" id=11] [ext_resource path="res://source/assets/sprites/GUI/background_lobby.svg" type="Texture" id=12] +[sub_resource type="DynamicFont" id=3] +size = 36 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 2 ) + [sub_resource type="DynamicFont" id=1] size = 88 use_mipmaps = true @@ -45,20 +51,6 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="username_text_edit" type="LineEdit" parent="multiplayer_configure"] -anchor_left = 0.5 -anchor_right = 0.5 -margin_left = -404.594 -margin_top = 269.169 -margin_right = 440.406 -margin_bottom = 373.169 -custom_fonts/font = ExtResource( 4 ) -align = 1 -placeholder_text = "Enter username" -__meta__ = { -"_edit_use_anchors_": false -} - [node name="create_server" parent="multiplayer_configure" instance=ExtResource( 9 )] margin_left = 810.0 margin_top = 424.0 @@ -140,6 +132,55 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="username" type="Panel" parent="multiplayer_configure"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -480.0 +margin_top = -270.0 +margin_right = 480.0 +margin_bottom = 270.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="username_text_edit" type="LineEdit" parent="multiplayer_configure/username"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -403.0 +margin_top = -243.0 +margin_right = 403.0 +margin_bottom = -138.0 +custom_fonts/font = ExtResource( 4 ) +custom_colors/selection_color = Color( 0.607843, 0.607843, 0.607843, 1 ) +custom_colors/cursor_color = Color( 1, 1, 1, 1 ) +align = 1 +placeholder_text = "Enter username" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="confirm" parent="multiplayer_configure/username/username_text_edit" instance=ExtResource( 9 )] +margin_left = 255.623 +margin_top = 129.885 +margin_right = 555.623 +margin_bottom = 201.885 + +[node name="Label" type="Label" parent="multiplayer_configure/username/username_text_edit/confirm"] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_fonts/font = SubResource( 3 ) +custom_colors/font_color = Color( 0, 0, 0, 1 ) +text = "CONFIRM" +align = 1 +valign = 1 +__meta__ = { +"_edit_lock_": true +} + [node name="background_lobby" type="Node2D" parent="."] z_index = -1 @@ -192,6 +233,7 @@ __meta__ = { } [node name="start_game" parent="UI" instance=ExtResource( 9 )] +visible = false anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 @@ -236,4 +278,5 @@ position = Vector2( 1536, 860 ) [connection signal="pressed" from="multiplayer_configure/create_server" to="." method="_on_create_server_pressed"] [connection signal="pressed" from="multiplayer_configure/join_server" to="." method="_on_join_server_pressed"] [connection signal="pressed" from="multiplayer_configure/return" to="." method="_on_return_pressed"] +[connection signal="pressed" from="multiplayer_configure/username/username_text_edit/confirm" to="." method="_on_confirm_pressed"] [connection signal="pressed" from="UI/start_game" to="." method="_on_start_game_pressed"] diff --git a/Game/source/scenes/GUI/server_handlers/server_browser.tscn b/Game/source/scenes/GUI/server_handlers/server_browser.tscn index 834f232..662ab2e 100644 --- a/Game/source/scenes/GUI/server_handlers/server_browser.tscn +++ b/Game/source/scenes/GUI/server_handlers/server_browser.tscn @@ -189,7 +189,6 @@ playback_speed = 0.5 anims/searching_for_servers = SubResource( 3 ) [node name="background_panel" type="Panel" parent="."] -visible = false anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5