diff --git a/examples/unrealstatus/Content/ShowTheUILevel.umap b/examples/unrealstatus/Content/ShowTheUILevel.umap index 52c2eda..9c369be 100644 Binary files a/examples/unrealstatus/Content/ShowTheUILevel.umap and b/examples/unrealstatus/Content/ShowTheUILevel.umap differ diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp index 23ada41..cbe7435 100644 --- a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp +++ b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp @@ -61,7 +61,7 @@ static void JoinRequestHandler(const DiscordJoinRequest* request) jr.avatar = ANSI_TO_TCHAR(request->avatar); UE_LOG(Discord, Log, TEXT("Discord join request from %s - %s#%s"), *jr.userId, *jr.username, *jr.discriminator); if (self) { - self->OnJoinRequest.Broadcast(jr.userId); + self->OnJoinRequest.Broadcast(jr); } } @@ -149,9 +149,9 @@ void UDiscordRpc::ClearPresence() Discord_ClearPresence(); } -static void UDiscordRpc::Respond(const FString& userId) +void UDiscordRpc::Respond(const FString& userId, int reply) { - auto userid = StringCast(*userId); - UE_LOG(Discord, Log, TEXT("Responding %s to join request from %s"), 1, *userid) - Discord_Respond((const char*)userid.Get(), 1); + UE_LOG(Discord, Log, TEXT("Responding %s to join request from %s"), reply, *userId); + FTCHARToUTF8 utf8_userid(*userId); + Discord_Respond(utf8_userid.Get(), reply); } diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h index cbdac39..9e71302 100644 --- a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h +++ b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h @@ -30,7 +30,6 @@ DECLARE_LOG_CATEGORY_EXTERN(Discord, Log, All); DECLARE_DYNAMIC_MULTICAST_DELEGATE(FDiscordConnected); DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FDiscordDisconnected, int, errorCode, const FString&, errorMessage); DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FDiscordErrored, int, errorCode, const FString&, errorMessage); -DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDiscordRespond, const FString&, userId); DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDiscordJoin, const FString&, joinSecret); DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDiscordSpectate, const FString&, spectateSecret); DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDiscordJoinRequest, const FDiscordJoinRequestData&, joinRequest); @@ -112,10 +111,10 @@ public: Category = "Discord") void ClearPresence(); - UPROPERTY(BlueprintAssignable, + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Respond to join request", Keywords = "Discord rpc"), Category = "Discord") - FDiscordRespond Respond; + void Respond(const FString& userId, int reply); UPROPERTY(BlueprintReadOnly, meta = (DisplayName = "Is Discord connected", Keywords = "Discord rpc"),