net: fix lobby.gd name race condition and reset on failure

This commit is contained in:
2026-04-13 21:19:23 +02:00
parent 45d891b8a4
commit 489533e1de

View File

@@ -1,6 +1,7 @@
extends Control
var _local_role: String = ""
var _pending_player_name: String = ""
func _ready() -> void:
@@ -23,12 +24,12 @@ func _on_join_pressed() -> void:
if player_name.is_empty():
return
_local_role = "dm" if $JoinPanel/RoleOption.selected == 1 else "player"
_pending_player_name = player_name
NetworkManager.join_server("127.0.0.1", 4242)
func _on_connected() -> void:
var player_name := $JoinPanel/NameInput.text.strip_edges()
NetworkManager.register.rpc_id(1, player_name, _local_role)
NetworkManager.register.rpc_id(1, _pending_player_name, _local_role)
$JoinPanel.visible = false
$WaitPanel.visible = true
$WaitPanel/StartButton.visible = (_local_role == "dm")
@@ -36,6 +37,8 @@ func _on_connected() -> void:
func _on_connection_failed() -> void:
push_error("[Lobby] Verbindung fehlgeschlagen")
_local_role = ""
_pending_player_name = ""
func _on_player_joined(_peer_id: int, _player_name: String, _role: String) -> void: