feat: fix gatcha, and login flow connection

This commit is contained in:
2026-04-24 02:50:16 +08:00
parent d97109aa8d
commit 5a08db38de
15 changed files with 400 additions and 145 deletions
+14 -7
View File
@@ -73,7 +73,8 @@ func _try_restore_session() -> void:
session = refreshed
_save_session(session, saved_auth_mode)
else:
print("[AuthManager] Session refresh failed, need to re-login")
var err_msg: String = refreshed.get_exception().message
print("[AuthManager] Session refresh failed (%s) — need to re-login" % err_msg)
return
else:
print("[AuthManager] Session expired, need to re-login")
@@ -85,12 +86,18 @@ func _try_restore_session() -> void:
is_guest = auth_mode == AuthMode.GUEST
var socket_success := await _connect_socket()
if socket_success:
await _load_user_profile()
is_authenticated = true
emit_signal("session_restored")
emit_signal("auth_completed", true, current_user)
print("[AuthManager] Session restored successfully")
if not socket_success:
# Clean up so manual login starts from a blank slate
push_warning("[AuthManager] Session restore failed — socket could not connect. Resetting state.")
NakamaManager.session = null
NakamaManager.socket = null
return
await _load_user_profile()
is_authenticated = true
emit_signal("session_restored")
emit_signal("auth_completed", true, current_user)
print("[AuthManager] Session restored successfully")
func _save_session(session: NakamaSession, mode: AuthMode) -> void:
var file := FileAccess.open_encrypted_with_pass(SESSION_FILE, FileAccess.WRITE, ENCRYPTION_KEY)