Merge branch 'feat/server-joining' into 'develop'

 Implement a UI Modal when waiting to join a server

See merge request open-fpsz/open-fpsz!12
This commit is contained in:
Squinternator 2024-04-09 19:27:11 +00:00
commit 2211d60ba0

View file

@ -25,7 +25,7 @@ func _ready():
func _on_menu_pressed():
hide()
owner.get_node(\"Main\").show()
func _on_quit_pressed():
get_tree().quit()
@ -37,12 +37,15 @@ func _on_join_pressed():
addr[0] = result.get_string(\"host\")
var rport = result.get_string(\"port\")
if rport: addr[1] = int(rport)
# create client
var peer = ENetMultiplayerPeer.new()
peer.create_client(addr[0], addr[1])
join_server.emit(peer)
multiplayer.connected_to_server.connect(_on_client_connected.bind(peer))
multiplayer.connection_failed.connect(_on_client_connection_failed)
$Modal.show()
multiplayer.multiplayer_peer = peer
func _on_host_pressed():
var port = DEFAULT_PORT
@ -59,8 +62,14 @@ func _on_host_pressed():
## create server
var peer = ENetMultiplayerPeer.new()
peer.create_server(port, MAX_CLIENTS)
start_server.emit(peer)
func _on_client_connected(peer):
join_server.emit(peer)
func _on_client_connection_failed():
$Modal.hide()
"
[node name="Multiplayer" type="PanelContainer"]
@ -246,6 +255,25 @@ unique_name_in_owner = true
layout_mode = 2
placeholder_text = "9000"
[node name="Modal" type="Panel" parent="."]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="Modal"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -59.5
offset_top = -11.5
offset_right = 59.5
offset_bottom = 11.5
grow_horizontal = 2
grow_vertical = 2
text = "CONNECTING..."
[connection signal="pressed" from="MarginContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Menu" to="." method="_on_menu_pressed"]
[connection signal="pressed" from="MarginContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Quit" to="." method="_on_quit_pressed"]
[connection signal="pressed" from="MarginContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox/Join" to="." method="_on_join_pressed"]