Added pop-up username screen

This commit is contained in:
Kristofers Solo 2021-11-06 16:56:08 +02:00
parent 9812b07374
commit ee359ad4a8
3 changed files with 86 additions and 29 deletions

View File

@ -4,9 +4,11 @@ var player = load("res://source/entities/player/player_node.tscn")
var current_spawn_location_instance_number = 1 var current_spawn_location_instance_number = 1
var current_player_for_spawn_location_number = null var current_player_for_spawn_location_number = null
var mode
onready var multiplayer_config_ui = $multiplayer_configure 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 device_ip_address = $UI/device_ip_address
onready var start_game = $UI/start_game onready var start_game = $UI/start_game
@ -15,6 +17,7 @@ onready var text = $UI/text
func _ready() -> void: func _ready() -> void:
username.hide()
background_lobby.hide() background_lobby.hide()
device_ip_address.hide() device_ip_address.hide()
text.hide() text.hide()
@ -64,21 +67,15 @@ func _player_disconnected(id) -> void:
PersistentNodes.get_node(str(id)).queue_free() PersistentNodes.get_node(str(id)).queue_free()
func _on_create_server_pressed(): func _on_create_server_pressed():
if username_text_edit.text != "": username.show()
Network.current_player_username = username_text_edit.text username_text_edit.call_deferred("grab_focus")
multiplayer_config_ui.hide() mode = "create"
device_ip_address.show()
background_lobby.show()
text.show()
Network.create_server()
instance_player(get_tree().get_network_unique_id())
func _on_join_server_pressed(): func _on_join_server_pressed():
if username_text_edit.text != "": username.show()
multiplayer_config_ui.hide() username_text_edit.call_deferred("grab_focus")
username_text_edit.hide() mode = "join"
Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_browser.tscn"), self)
func _connected_to_server() -> void: 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") 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(): func _on_return_pressed():
get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn") get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn")

View File

@ -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/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] [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/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] [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] [sub_resource type="DynamicFont" id=1]
size = 88 size = 88
use_mipmaps = true use_mipmaps = true
@ -45,20 +51,6 @@ __meta__ = {
"_edit_use_anchors_": false "_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 )] [node name="create_server" parent="multiplayer_configure" instance=ExtResource( 9 )]
margin_left = 810.0 margin_left = 810.0
margin_top = 424.0 margin_top = 424.0
@ -140,6 +132,55 @@ __meta__ = {
"_edit_use_anchors_": false "_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="."] [node name="background_lobby" type="Node2D" parent="."]
z_index = -1 z_index = -1
@ -192,6 +233,7 @@ __meta__ = {
} }
[node name="start_game" parent="UI" instance=ExtResource( 9 )] [node name="start_game" parent="UI" instance=ExtResource( 9 )]
visible = false
anchor_left = 0.5 anchor_left = 0.5
anchor_top = 0.5 anchor_top = 0.5
anchor_right = 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/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/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/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"] [connection signal="pressed" from="UI/start_game" to="." method="_on_start_game_pressed"]

View File

@ -189,7 +189,6 @@ playback_speed = 0.5
anims/searching_for_servers = SubResource( 3 ) anims/searching_for_servers = SubResource( 3 )
[node name="background_panel" type="Panel" parent="."] [node name="background_panel" type="Panel" parent="."]
visible = false
anchor_left = 0.5 anchor_left = 0.5
anchor_top = 0.5 anchor_top = 0.5
anchor_right = 0.5 anchor_right = 0.5