fix multiple session results when searching both dedicated and lobbies

fix multiple session results when searching both dedicated and lobbies, its not a problem on steam but with lan and such it returns the same results as it doesn't care about presence.
This commit is contained in:
Joshua
2023-01-25 15:01:00 -05:00
parent 3d024ae1c7
commit d61c55862f
2 changed files with 7 additions and 2 deletions

View File

@@ -7,6 +7,11 @@
#include "BlueprintDataDefinitions.h" #include "BlueprintDataDefinitions.h"
#include "FindSessionsCallbackProxyAdvanced.generated.h" #include "FindSessionsCallbackProxyAdvanced.generated.h"
FORCEINLINE bool operator==(const FBlueprintSessionResult& A, const FBlueprintSessionResult& B)
{
return (A.OnlineResult.IsValid() == B.OnlineResult.IsValid() && (A.OnlineResult.GetSessionIdStr() == B.OnlineResult.GetSessionIdStr()));
}
UCLASS(MinimalAPI) UCLASS(MinimalAPI)
class UFindSessionsCallbackProxyAdvanced : public UOnlineBlueprintCallProxyBase class UFindSessionsCallbackProxyAdvanced : public UOnlineBlueprintCallProxyBase
{ {

View File

@@ -199,7 +199,7 @@ void UFindSessionsCallbackProxyAdvanced::OnCompleted(bool bSuccess)
FBlueprintSessionResult BPResult; FBlueprintSessionResult BPResult;
BPResult.OnlineResult = Result; BPResult.OnlineResult = Result;
SessionSearchResults.Add(BPResult); SessionSearchResults.AddUnique(BPResult);
} }
OnSuccess.Broadcast(SessionSearchResults); OnSuccess.Broadcast(SessionSearchResults);
return; return;
@@ -218,7 +218,7 @@ void UFindSessionsCallbackProxyAdvanced::OnCompleted(bool bSuccess)
FBlueprintSessionResult BPResult; FBlueprintSessionResult BPResult;
BPResult.OnlineResult = Result; BPResult.OnlineResult = Result;
SessionSearchResults.Add(BPResult); SessionSearchResults.AddUnique(BPResult);
} }
if (!bRunSecondSearch) if (!bRunSecondSearch)
{ {