mirror of
https://github.com/mordentral/AdvancedSessionsPlugin.git
synced 2025-10-23 08:24:18 +00:00
added fixes for friend sessions
This commit is contained in:
@@ -55,6 +55,10 @@ public:
|
|||||||
|
|
||||||
//********* Session Information Functions ***********//
|
//********* Session Information Functions ***********//
|
||||||
|
|
||||||
|
// Check if a session result is valid or not
|
||||||
|
UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo")
|
||||||
|
static bool IsValidSession(const FBlueprintSessionResult & SessionResult);
|
||||||
|
|
||||||
// Get the Unique Current Build ID
|
// Get the Unique Current Build ID
|
||||||
UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo")
|
UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo")
|
||||||
static void GetCurrentUniqueBuildID(int32 &UniqueBuildId);
|
static void GetCurrentUniqueBuildID(int32 &UniqueBuildId);
|
||||||
|
@@ -5,6 +5,11 @@
|
|||||||
//General Log
|
//General Log
|
||||||
DEFINE_LOG_CATEGORY(AdvancedSessionsLog);
|
DEFINE_LOG_CATEGORY(AdvancedSessionsLog);
|
||||||
|
|
||||||
|
bool UAdvancedSessionsLibrary::IsValidSession(const FBlueprintSessionResult & SessionResult)
|
||||||
|
{
|
||||||
|
return SessionResult.OnlineResult.IsValid();
|
||||||
|
}
|
||||||
|
|
||||||
void UAdvancedSessionsLibrary::GetCurrentUniqueBuildID(int32 &UniqueBuildId)
|
void UAdvancedSessionsLibrary::GetCurrentUniqueBuildID(int32 &UniqueBuildId)
|
||||||
{
|
{
|
||||||
UniqueBuildId = GetBuildUniqueId();
|
UniqueBuildId = GetBuildUniqueId();
|
||||||
|
@@ -58,9 +58,11 @@ void UFindFriendSessionCallbackProxy::Activate()
|
|||||||
|
|
||||||
FindFriendSessionCompleteDelegateHandle = Sessions->AddOnFindFriendSessionCompleteDelegate_Handle(Player->GetControllerId(), OnFindFriendSessionCompleteDelegate);
|
FindFriendSessionCompleteDelegateHandle = Sessions->AddOnFindFriendSessionCompleteDelegate_Handle(Player->GetControllerId(), OnFindFriendSessionCompleteDelegate);
|
||||||
|
|
||||||
Sessions->FindFriendSession(Player->GetControllerId(),*cUniqueNetId.GetUniqueNetId());
|
Sessions->FindFriendSession(Player->GetControllerId(), *cUniqueNetId.GetUniqueNetId());
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fail immediately
|
// Fail immediately
|
||||||
FBlueprintSessionResult EmptyResult;
|
FBlueprintSessionResult EmptyResult;
|
||||||
OnFailure.Broadcast(EmptyResult);
|
OnFailure.Broadcast(EmptyResult);
|
||||||
@@ -77,7 +79,13 @@ void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPl
|
|||||||
{
|
{
|
||||||
FBlueprintSessionResult Result;
|
FBlueprintSessionResult Result;
|
||||||
Result.OnlineResult = SessionInfo;
|
Result.OnlineResult = SessionInfo;
|
||||||
OnSuccess.Broadcast(Result);
|
if(Result.OnlineResult.IsValid())
|
||||||
|
OnSuccess.Broadcast(Result);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UE_LOG(AdvancedFindFriendSessionLog, Warning, TEXT("FindFriendSession Failed, returned an invalid session."));
|
||||||
|
OnFailure.Broadcast(Result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -30,7 +30,6 @@ UUpdateSessionCallbackProxyAdvanced* UUpdateSessionCallbackProxyAdvanced::Update
|
|||||||
void UUpdateSessionCallbackProxyAdvanced::Activate()
|
void UUpdateSessionCallbackProxyAdvanced::Activate()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
IOnlineSessionPtr Sessions = Online::GetSessionInterface();
|
IOnlineSessionPtr Sessions = Online::GetSessionInterface();
|
||||||
|
|
||||||
if (Sessions.IsValid())
|
if (Sessions.IsValid())
|
||||||
|
Reference in New Issue
Block a user