feat: update
This commit is contained in:
@@ -442,28 +442,44 @@ func logout() -> void:
|
||||
# =============================================================================
|
||||
|
||||
func _connect_socket() -> bool:
|
||||
if not NakamaManager.session:
|
||||
push_error("[AuthManager] Socket connection failed: no Nakama session")
|
||||
return false
|
||||
|
||||
if NakamaManager.socket and NakamaManager.socket.is_connected_to_host():
|
||||
if not multiplayer.has_multiplayer_peer() and NakamaManager.bridge:
|
||||
multiplayer.set_multiplayer_peer(NakamaManager.bridge.multiplayer_peer)
|
||||
NakamaManager.connected_to_nakama.emit()
|
||||
return true
|
||||
|
||||
|
||||
if NakamaManager.socket:
|
||||
NakamaManager.socket.close()
|
||||
NakamaManager.socket = null
|
||||
|
||||
NakamaManager.socket = Nakama.create_socket_from(NakamaManager.client)
|
||||
var result = await NakamaManager.socket.connect_async(NakamaManager.session)
|
||||
|
||||
|
||||
if result.is_exception():
|
||||
push_error("[AuthManager] Socket connection failed: " + result.get_exception().message)
|
||||
var exception = result.get_exception()
|
||||
var error_message = "Socket connection failed"
|
||||
if exception and not exception.message.is_empty():
|
||||
error_message = exception.message
|
||||
elif exception and exception.status_code >= 0:
|
||||
error_message = "Socket connection failed with error code %s" % exception.status_code
|
||||
push_error("[AuthManager] " + error_message)
|
||||
NakamaManager.socket.close()
|
||||
NakamaManager.socket = null
|
||||
return false
|
||||
|
||||
|
||||
# Initialize multiplayer bridge
|
||||
NakamaManager.bridge = NakamaMultiplayerBridge.new(NakamaManager.socket)
|
||||
NakamaManager.bridge.match_joined.connect(NakamaManager._on_bridge_match_joined)
|
||||
NakamaManager.bridge.match_join_error.connect(NakamaManager._on_bridge_match_join_error)
|
||||
multiplayer.set_multiplayer_peer(NakamaManager.bridge.multiplayer_peer)
|
||||
|
||||
|
||||
# Notify other systems that Nakama socket is ready
|
||||
NakamaManager.connected_to_nakama.emit()
|
||||
|
||||
|
||||
return true
|
||||
|
||||
func _load_user_profile() -> void:
|
||||
|
||||
Reference in New Issue
Block a user