mirror of
https://github.com/mordentral/AdvancedSessionsPlugin.git
synced 2025-10-22 16:04:18 +00:00
4.16 Specific Changes
Former-commit-id: b3b541bbbe53f8e8cba6821599454b1682d2f456
This commit is contained in:
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user