From b09def76348c585b8d4cbc27631be31ef014f71f Mon Sep 17 00:00:00 2001 From: mordentral Date: Wed, 26 Apr 2017 14:55:02 -0400 Subject: [PATCH 1/3] 4.16 Specific Changes Former-commit-id: b3b541bbbe53f8e8cba6821599454b1682d2f456 --- .../AdvancedSessions.Build.cs | 2 +- .../Classes/FindFriendSessionCallbackProxy.h | 6 ++-- .../FindFriendSessionCallbackProxy.cpp | 29 +++++++++++++------ .../AdvancedSteamSessions.Build.cs | 2 +- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/AdvancedSessions/Source/AdvancedSessions/AdvancedSessions.Build.cs b/AdvancedSessions/Source/AdvancedSessions/AdvancedSessions.Build.cs index f43a606..256e0bc 100644 --- a/AdvancedSessions/Source/AdvancedSessions/AdvancedSessions.Build.cs +++ b/AdvancedSessions/Source/AdvancedSessions/AdvancedSessions.Build.cs @@ -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; diff --git a/AdvancedSessions/Source/AdvancedSessions/Classes/FindFriendSessionCallbackProxy.h b/AdvancedSessions/Source/AdvancedSessions/Classes/FindFriendSessionCallbackProxy.h index 38f0b48..cbfd8b7 100644 --- a/AdvancedSessions/Source/AdvancedSessions/Classes/FindFriendSessionCallbackProxy.h +++ b/AdvancedSessions/Source/AdvancedSessions/Classes/FindFriendSessionCallbackProxy.h @@ -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, 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& SessionInfo); // The player controller triggering things TWeakObjectPtr PlayerControllerWeakPtr; diff --git a/AdvancedSessions/Source/AdvancedSessions/Private/FindFriendSessionCallbackProxy.cpp b/AdvancedSessions/Source/AdvancedSessions/Private/FindFriendSessionCallbackProxy.cpp index 474bd24..fc0a6cd 100644 --- a/AdvancedSessions/Source/AdvancedSessions/Private/FindFriendSessionCallbackProxy.cpp +++ b/AdvancedSessions/Source/AdvancedSessions/Private/FindFriendSessionCallbackProxy.cpp @@ -27,7 +27,7 @@ void UFindFriendSessionCallbackProxy::Activate() { // Fail immediately UE_LOG(AdvancedFindFriendSessionLog, Warning, TEXT("FindFriendSession Failed received a bad UniqueNetId!")); - FBlueprintSessionResult EmptyResult; + TArray 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 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 EmptyResult; OnFailure.Broadcast(EmptyResult); return; } @@ -64,11 +64,12 @@ void UFindFriendSessionCallbackProxy::Activate() } // Fail immediately - FBlueprintSessionResult EmptyResult; + TArray EmptyResult; OnFailure.Broadcast(EmptyResult); } -void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const FOnlineSessionSearchResult& SessionInfo) + +void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const TArray& 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 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 EmptyResult; OnFailure.Broadcast(EmptyResult); } } diff --git a/AdvancedSteamSessions/Source/AdvancedSteamSessions/AdvancedSteamSessions.Build.cs b/AdvancedSteamSessions/Source/AdvancedSteamSessions/AdvancedSteamSessions.Build.cs index 3a607cc..db5bc57 100644 --- a/AdvancedSteamSessions/Source/AdvancedSteamSessions/AdvancedSteamSessions.Build.cs +++ b/AdvancedSteamSessions/Source/AdvancedSteamSessions/AdvancedSteamSessions.Build.cs @@ -3,7 +3,7 @@ using System.IO; public class AdvancedSteamSessions : ModuleRules { - public AdvancedSteamSessions(TargetInfo Target) + public AdvancedSteamSessions(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; //bEnforceIWYU = true; From f7c74198514ddf459c31012f5874fd85cc031db4 Mon Sep 17 00:00:00 2001 From: mordentral Date: Tue, 23 May 2017 11:04:58 -0400 Subject: [PATCH 2/3] Fix player login status changed event definition being incorrect Former-commit-id: a42579dd79f2b68d69b67ded1a301640ed3cf00c --- .../AdvancedSessions/Classes/AdvancedFriendsGameInstance.h | 2 +- .../Source/AdvancedSessions/Classes/AdvancedFriendsInterface.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h b/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h index 2efec5f..c3406d1 100644 --- a/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h +++ b/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h @@ -88,7 +88,7 @@ public: // Called when the designated LocalUser has changed login status UFUNCTION(BlueprintImplementableEvent, Category = "AdvancedIdentity", meta = (DisplayName = "OnPlayerLoginStatusChanged")) - void OnPlayerLoginStatusChanged(int32 PlayerNum, EBPLoginStatus &PreviousStatus, EBPLoginStatus &NewStatus, FBPUniqueNetId & NewPlayerUniqueNetID); + void OnPlayerLoginStatusChanged(int32 PlayerNum, EBPLoginStatus PreviousStatus, EBPLoginStatus NewStatus, FBPUniqueNetId NewPlayerUniqueNetID); void OnPlayerLoginStatusChangedMaster(int32 PlayerNum, ELoginStatus::Type PreviousStatus, ELoginStatus::Type NewStatus, const FUniqueNetId & NewPlayerUniqueNetID); FOnLoginStatusChangedDelegate PlayerLoginStatusChangedDelegate; diff --git a/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsInterface.h b/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsInterface.h index 11d851a..0888fc6 100644 --- a/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsInterface.h +++ b/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsInterface.h @@ -46,7 +46,7 @@ public: // Called when the designated LocalUser has changed login state UFUNCTION(BlueprintImplementableEvent, meta = (DisplayName = "OnPlayerLoginStatusChanged")) - void OnPlayerLoginStatusChanged(EBPLoginStatus &PreviousStatus, EBPLoginStatus &NewStatus, FBPUniqueNetId & PlayerUniqueNetID); + void OnPlayerLoginStatusChanged(EBPLoginStatus PreviousStatus, EBPLoginStatus NewStatus, FBPUniqueNetId PlayerUniqueNetID); // REMOVED BECAUSE IT WAS NEVER BEING CALLED // Called when the designated LocalUser has received a session invite, use JoinSession on result to connect From 89ae006a7b89b4aec427c59b24010e89e46cae42 Mon Sep 17 00:00:00 2001 From: J Date: Sat, 27 May 2017 10:52:44 -0400 Subject: [PATCH 3/3] Close branch 4.16 Former-commit-id: 0a8c726a07e2e3f8c63ff339b34f97ff5d6764af