net: fix lobby.gd name race condition and reset on failure
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user