|
|
|
@@ -283,6 +283,10 @@ func _on_auth_started() -> void:
|
|
|
|
|
reg_status_label.text = ""
|
|
|
|
|
|
|
|
|
|
func _on_auth_completed(success: bool, _user_data: Dictionary) -> void:
|
|
|
|
|
# Check if node is still in tree (may have been freed during scene transition)
|
|
|
|
|
if not is_inside_tree():
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
is_loading = false
|
|
|
|
|
loading_spinner.visible = false
|
|
|
|
|
_set_inputs_enabled(true)
|
|
|
|
@@ -301,6 +305,8 @@ func _on_auth_failed(error: String) -> void:
|
|
|
|
|
_show_error(error)
|
|
|
|
|
|
|
|
|
|
func _on_session_restored() -> void:
|
|
|
|
|
if not is_inside_tree():
|
|
|
|
|
return
|
|
|
|
|
_go_to_lobby()
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
@@ -336,5 +342,13 @@ func _is_valid_email(email: String) -> bool:
|
|
|
|
|
return regex.search(email) != null
|
|
|
|
|
|
|
|
|
|
func _go_to_lobby() -> void:
|
|
|
|
|
# Navigate to lobby scene
|
|
|
|
|
get_tree().change_scene_to_file("res://assets/models/meshes/lobby.tscn")
|
|
|
|
|
# Navigate to lobby scene - use deferred call to avoid issues during signal callbacks
|
|
|
|
|
if get_tree():
|
|
|
|
|
get_tree().change_scene_to_file("res://scenes/lobby.tscn")
|
|
|
|
|
else:
|
|
|
|
|
# Fallback: try deferred call
|
|
|
|
|
call_deferred("_deferred_go_to_lobby")
|
|
|
|
|
|
|
|
|
|
func _deferred_go_to_lobby() -> void:
|
|
|
|
|
if get_tree():
|
|
|
|
|
get_tree().change_scene_to_file("res://scenes/lobby.tscn")
|
|
|
|
|