From 41b62a248c19a0fa59b8aacfc8de4db27b8c5ccb Mon Sep 17 00:00:00 2001 From: vaporvee Date: Tue, 25 Mar 2025 10:56:56 +0100 Subject: [PATCH] more signals --- project/discord_connector.gd | 9 +++++++++ project/main.tscn | 3 +++ src/nodes/discord_connector.cpp | 16 ++++++++++------ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/project/discord_connector.gd b/project/discord_connector.gd index bd5c0ab..aa9edbb 100644 --- a/project/discord_connector.gd +++ b/project/discord_connector.gd @@ -2,3 +2,12 @@ extends DiscordConnector func _on_user_connected(access_token: String, refresh_token: String, expires_in: int) -> void: print_debug("Access token: %s \nRefresh Token: %s \nExpires in: %s" % [access_token, refresh_token, expires_in]) + +func _on_user_updated() -> void: + print_debug("USER UPDATED") + +func _on_user_connection_failed(error: String) -> void: + push_error("User connection failed! Error: %s", error) + +func _on_user_update_failed(error: String) -> void: + push_error("User update failed! Error: %s", error) diff --git a/project/main.tscn b/project/main.tscn index f41a695..1fdbbaf 100644 --- a/project/main.tscn +++ b/project/main.tscn @@ -49,3 +49,6 @@ encryption_key = "H8jOL;.+F9B7&/jLb:Yr_,V'He/nRQw.wII8GE1$l_P,&YG)Yc" script = ExtResource("3_h2yge") [connection signal="user_connected" from="DiscordConnector" to="DiscordConnector" method="_on_user_connected"] +[connection signal="user_connection_failed" from="DiscordConnector" to="DiscordConnector" method="_on_user_connection_failed"] +[connection signal="user_update_failed" from="DiscordConnector" to="DiscordConnector" method="_on_user_update_failed"] +[connection signal="user_updated" from="DiscordConnector" to="DiscordConnector" method="_on_user_updated"] diff --git a/src/nodes/discord_connector.cpp b/src/nodes/discord_connector.cpp index dd677bd..f27f02f 100644 --- a/src/nodes/discord_connector.cpp +++ b/src/nodes/discord_connector.cpp @@ -9,11 +9,14 @@ void DiscordConnector::_bind_methods() BIND_SET_GET(DiscordConnector, encryption_key, Variant::STRING, godot::PROPERTY_HINT_PASSWORD); BIND_SET_GET(DiscordConnector, token_auto_manage, Variant::BOOL); BIND_METHOD(DiscordConnector, connect_user); - BIND_METHOD(DiscordConnector, update_user_token); + BIND_METHOD(DiscordConnector, update_user_token, "access_token"); BIND_METHOD(DiscordConnector, get_access_token); BIND_METHOD(DiscordConnector, get_refresh_token); BIND_METHOD(DiscordConnector, get_expires_in); BIND_SIGNAL(user_connected, PropertyInfo(Variant::STRING, "access_token"), PropertyInfo(Variant::STRING, "refresh_token"), PropertyInfo(Variant::INT, "expires_in")); + BIND_SIGNAL(user_connection_failed, PropertyInfo(Variant::STRING, "error")); + BIND_SIGNAL(user_updated); + BIND_SIGNAL(user_update_failed, PropertyInfo(Variant::STRING, "error")); } DiscordConnector::DiscordConnector() { @@ -142,10 +145,10 @@ void DiscordConnector::connect_user() { DiscordUtil::get_singleton()->save_tokens(accessToken.c_str(), refreshToken.c_str(), expiresIn, encryption_key); } - } else { - UtilityFunctions::push_error("Access token error: " + String(result.Error().c_str())); - return; - } + } else { + emit_signal("user_connection_failed", result.Error().c_str()); + return; + } update_user_token(accessToken.c_str()); }); } }); @@ -157,8 +160,9 @@ void DiscordConnector::update_user_token(String access_token) { if(result.Successful()) { client->Connect(); + emit_signal("user_updated"); } else { - UtilityFunctions::push_error("Token update error: " + String(result.Error().c_str())); + emit_signal("user_update_failed", result.Error().c_str()); } }); }