4.16 Specific Changes

Former-commit-id: b3b541bbbe53f8e8cba6821599454b1682d2f456
This commit is contained in:
mordentral
2017-04-26 14:55:02 -04:00
parent 92c80023c6
commit b09def7634
4 changed files with 25 additions and 14 deletions

View File

@@ -3,7 +3,7 @@ using System.IO;
public class AdvancedSessions : ModuleRules
{
public AdvancedSessions(TargetInfo Target)
public AdvancedSessions(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
//bEnforceIWYU = true;

View File

@@ -2,13 +2,13 @@
#pragma once
#include "CoreMinimal.h"
#include "Engine/LocalPlayer.h"
#include "BlueprintDataDefinitions.h"
#include "Engine/LocalPlayer.h"
#include "FindFriendSessionCallbackProxy.generated.h"
DECLARE_LOG_CATEGORY_EXTERN(AdvancedFindFriendSessionLog, Log, All);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FBlueprintFindFriendSessionDelegate, const FBlueprintSessionResult&, SessionInfo);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FBlueprintFindFriendSessionDelegate, const TArray<FBlueprintSessionResult>, SessionInfo);
UCLASS(MinimalAPI)
class UFindFriendSessionCallbackProxy : public UOnlineBlueprintCallProxyBase
@@ -31,7 +31,7 @@ class UFindFriendSessionCallbackProxy : public UOnlineBlueprintCallProxyBase
private:
// Internal callback when the friends list is retrieved
void OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const FOnlineSessionSearchResult& SessionInfo);
void OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const TArray<FOnlineSessionSearchResult>& SessionInfo);
// The player controller triggering things
TWeakObjectPtr<APlayerController> PlayerControllerWeakPtr;

View File

@@ -27,7 +27,7 @@ void UFindFriendSessionCallbackProxy::Activate()
{
// Fail immediately
UE_LOG(AdvancedFindFriendSessionLog, Warning, TEXT("FindFriendSession Failed received a bad UniqueNetId!"));
FBlueprintSessionResult EmptyResult;
TArray<FBlueprintSessionResult> EmptyResult;
OnFailure.Broadcast(EmptyResult);
return;
}
@@ -36,7 +36,7 @@ void UFindFriendSessionCallbackProxy::Activate()
{
// Fail immediately
UE_LOG(AdvancedFindFriendSessionLog, Warning, TEXT("FindFriendSession Failed received a bad playercontroller!"));
FBlueprintSessionResult EmptyResult;
TArray<FBlueprintSessionResult> EmptyResult;
OnFailure.Broadcast(EmptyResult);
return;
}
@@ -51,7 +51,7 @@ void UFindFriendSessionCallbackProxy::Activate()
{
// Fail immediately
UE_LOG(AdvancedFindFriendSessionLog, Warning, TEXT("FindFriendSession Failed couldn't cast to ULocalPlayer!"));
FBlueprintSessionResult EmptyResult;
TArray<FBlueprintSessionResult> EmptyResult;
OnFailure.Broadcast(EmptyResult);
return;
}
@@ -64,11 +64,12 @@ void UFindFriendSessionCallbackProxy::Activate()
}
// Fail immediately
FBlueprintSessionResult EmptyResult;
TArray<FBlueprintSessionResult> EmptyResult;
OnFailure.Broadcast(EmptyResult);
}
void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const FOnlineSessionSearchResult& SessionInfo)
void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const TArray<FOnlineSessionSearchResult>& SessionInfo)
{
IOnlineSessionPtr Sessions = Online::GetSessionInterface();
@@ -77,9 +78,19 @@ void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPl
if ( bWasSuccessful )
{
FBlueprintSessionResult Result;
Result.OnlineResult = SessionInfo;
if(Result.OnlineResult.IsValid())
TArray<FBlueprintSessionResult> Result;
for (auto& Sesh : SessionInfo)
{
if (Sesh.IsValid())
{
FBlueprintSessionResult BSesh;
BSesh.OnlineResult = Sesh;
Result.Add(BSesh);
}
}
if(Result.Num() > 0)
OnSuccess.Broadcast(Result);
else
{
@@ -90,7 +101,7 @@ void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPl
else
{
UE_LOG(AdvancedFindFriendSessionLog, Warning, TEXT("FindFriendSession Failed"));
FBlueprintSessionResult EmptyResult;
TArray<FBlueprintSessionResult> EmptyResult;
OnFailure.Broadcast(EmptyResult);
}
}