From fdfafcc845a66f2e61e940b9b71e08242c16ec9c Mon Sep 17 00:00:00 2001 From: mordentral Date: Tue, 19 Apr 2016 09:14:44 -0400 Subject: [PATCH] sdf --- .../Classes/FindSessionsCallbackProxyAdvanced.h | 5 ++++- .../Private/FindSessionsCallbackProxyAdvanced.cpp | 9 +++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h b/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h index 09c914c..67317e3 100644 --- a/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h +++ b/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h @@ -21,7 +21,7 @@ class UFindSessionsCallbackProxyAdvanced : public UOnlineBlueprintCallProxyBase // Searches for advertised sessions with the default online subsystem and includes an array of filters UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true", WorldContext = "WorldContextObject", AutoCreateRefTerm="Filters"), Category = "Online|AdvancedSessions") - static UFindSessionsCallbackProxyAdvanced* FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int32 MaxResults, bool bUseLAN, const TArray &Filters); + static UFindSessionsCallbackProxyAdvanced* FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int32 MaxResults, bool bUseLAN, bool bSearchDedicated, const TArray &Filters); static bool CompareVariants(const FVariantData &A, const FVariantData &B, EOnlineComparisonOpRedux::Type Comparator); @@ -67,6 +67,9 @@ private: // Whether or not to search LAN bool bUseLAN; + // Whether or not to search for dedicated servers + bool bUseDedicated; + // Maximum number of results to return int MaxResults; diff --git a/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp b/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp index aa1c61c..3146e84 100644 --- a/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp +++ b/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp @@ -22,6 +22,7 @@ UFindSessionsCallbackProxyAdvanced* UFindSessionsCallbackProxyAdvanced::FindSess Proxy->MaxResults = MaxResults; Proxy->WorldContextObject = WorldContextObject; Proxy->SearchSettings = Filters; + Procy->bUseDedicated = bUseDedicated; return Proxy; } @@ -36,7 +37,7 @@ void UFindSessionsCallbackProxyAdvanced::Activate() if (Sessions.IsValid()) { DelegateHandle = Sessions->AddOnFindSessionsCompleteDelegate_Handle(Delegate); - + SearchObject = MakeShareable(new FOnlineSessionSearch); SearchObject->MaxSearchResults = MaxResults; SearchObject->bIsLanQuery = bUseLAN; @@ -44,7 +45,11 @@ void UFindSessionsCallbackProxyAdvanced::Activate() // Create temp filter variable, because I had to re-define a blueprint version of this, it is required. FOnlineSearchSettingsEx tem; - tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); + + if (!bUseDedicated) + { + tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); + } // Filter results if (SearchSettings.Num() > 0)