diff --git a/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.dll b/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.dll index d98a2a06..595c578f 100644 Binary files a/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.dll and b/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.dll differ diff --git a/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.exp b/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.exp index 55413084..57c4ef61 100644 Binary files a/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.exp and b/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.exp differ diff --git a/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.pdb b/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.pdb index 2e685007..8825a079 100644 Binary files a/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.pdb and b/Plugins/LuckyDataTransfer/Binaries/Win64/UnrealEditor-LuckyDataTransfer.pdb differ diff --git a/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Private/LuckyDataTransferSubsystem.cpp b/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Private/LuckyDataTransferSubsystem.cpp index ed026600..9f6f3dd2 100644 --- a/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Private/LuckyDataTransferSubsystem.cpp +++ b/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Private/LuckyDataTransferSubsystem.cpp @@ -41,26 +41,25 @@ void ULuckyDataTransferSubsystem::Internal_OpenWebsocket(const FString& URL, con Socket = FWebSocketsModule::Get().CreateWebSocket(NewUrl); Socket->Connect(); - Socket->OnConnected().AddLambda([]() - { - UE_LOG(LogTemp, Warning, TEXT("WebSocket connected")); - }); - - Socket->OnConnectionError().AddLambda([](const FString& Message) - { - UE_LOG(LogTemp, Warning, TEXT("WebSocket connection error")); - }); - + //Set up callbacks + Socket->OnConnectionError().AddUObject(this, &ULuckyDataTransferSubsystem::Callback_OnConnectionError); + Socket->OnConnected().AddUObject(this, &ULuckyDataTransferSubsystem::Callback_OnConnected); Socket->OnMessage().AddUObject(this, &ULuckyDataTransferSubsystem::Callback_OnMessage); } -//Callbacks / Lambas +//Callbacks void ULuckyDataTransferSubsystem::Callback_OnConnected() { + if (OnSocketReady.IsBound()) + { + OnSocketReady.Broadcast(true); + UE_LOG(LogTemp, VeryVerbose, TEXT("WebSocket connected successfully")); + } } void ULuckyDataTransferSubsystem::Callback_OnConnectionError(const FString& Error) { + UE_LOG(LogTemp, VeryVerbose, TEXT("Websocket connection error: %s"), *Error) } void ULuckyDataTransferSubsystem::Callback_OnMessage(const FString& Message) @@ -96,7 +95,7 @@ void ULuckyDataTransferSubsystem::SendMessage(const FString& Message) return; } - UE_LOG(LogTemp, Warning, TEXT("WebSocket message failed")); + UE_LOG(LogTemp, Warning, TEXT("WebSocket outgoing message failed")); } FPayload ULuckyDataTransferSubsystem::InterpretData(const FString& Message) diff --git a/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Public/LuckyDataTransferSubsystem.h b/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Public/LuckyDataTransferSubsystem.h index cbbce5a0..36b60f5e 100644 --- a/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Public/LuckyDataTransferSubsystem.h +++ b/Plugins/LuckyDataTransfer/Source/LuckyDataTransfer/Public/LuckyDataTransferSubsystem.h @@ -39,6 +39,7 @@ public: }; DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FCommandReady, const FPayload&, Payload); +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FSocketReady, bool, bSuccessful); UCLASS() class LUCKYDATATRANSFER_API ULuckyDataTransferSubsystem : public UWorldSubsystem @@ -65,7 +66,9 @@ public: UPROPERTY(BlueprintAssignable) FCommandReady OnCommandReady; - + UPROPERTY(BlueprintAssignable) + FSocketReady OnSocketReady; + //Callbacks UFUNCTION() void Callback_OnConnected();