added fixes for friend sessions

This commit is contained in:
mordentral
2016-06-22 14:13:23 -04:00
parent f1fdbee372
commit d969d6a670
4 changed files with 19 additions and 3 deletions

View File

@@ -55,6 +55,10 @@ public:
//********* 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
UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo")
static void GetCurrentUniqueBuildID(int32 &UniqueBuildId);

View File

@@ -5,6 +5,11 @@
//General Log
DEFINE_LOG_CATEGORY(AdvancedSessionsLog);
bool UAdvancedSessionsLibrary::IsValidSession(const FBlueprintSessionResult & SessionResult)
{
return SessionResult.OnlineResult.IsValid();
}
void UAdvancedSessionsLibrary::GetCurrentUniqueBuildID(int32 &UniqueBuildId)
{
UniqueBuildId = GetBuildUniqueId();

View File

@@ -58,9 +58,11 @@ void UFindFriendSessionCallbackProxy::Activate()
FindFriendSessionCompleteDelegateHandle = Sessions->AddOnFindFriendSessionCompleteDelegate_Handle(Player->GetControllerId(), OnFindFriendSessionCompleteDelegate);
Sessions->FindFriendSession(Player->GetControllerId(),*cUniqueNetId.GetUniqueNetId());
Sessions->FindFriendSession(Player->GetControllerId(), *cUniqueNetId.GetUniqueNetId());
return;
}
// Fail immediately
FBlueprintSessionResult EmptyResult;
OnFailure.Broadcast(EmptyResult);
@@ -77,7 +79,13 @@ void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPl
{
FBlueprintSessionResult Result;
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
{

View File

@@ -30,7 +30,6 @@ UUpdateSessionCallbackProxyAdvanced* UUpdateSessionCallbackProxyAdvanced::Update
void UUpdateSessionCallbackProxyAdvanced::Activate()
{
IOnlineSessionPtr Sessions = Online::GetSessionInterface();
if (Sessions.IsValid())