From f1fdbee372cc2eb58b270941e5242819bc131f0d Mon Sep 17 00:00:00 2001 From: mordentral Date: Tue, 21 Jun 2016 13:32:37 -0400 Subject: [PATCH] sdf --- .../Classes/BlueprintDataDefinitions.h | 4 +-- .../Private/AdvancedFriendsLibrary.cpp | 31 +++++++++++++------ .../Private/GetFriendsCallbackProxy.cpp | 19 +++++++----- 3 files changed, 34 insertions(+), 20 deletions(-) diff --git a/Source/AdvancedSessions/Classes/BlueprintDataDefinitions.h b/Source/AdvancedSessions/Classes/BlueprintDataDefinitions.h index 960878e..cce2392 100644 --- a/Source/AdvancedSessions/Classes/BlueprintDataDefinitions.h +++ b/Source/AdvancedSessions/Classes/BlueprintDataDefinitions.h @@ -201,11 +201,11 @@ public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend") bool bIsPlayingThisGame; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend") - bool bIsJoinable; + bool bIsJoinable; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend") bool bHasVoiceSupport; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend") - TEnumAsByte PresenceState; + TEnumAsByte PresenceState; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Online|Friend") FString StatusString; }; diff --git a/Source/AdvancedSessions/Private/AdvancedFriendsLibrary.cpp b/Source/AdvancedSessions/Private/AdvancedFriendsLibrary.cpp index 1e6412c..4b2ba2a 100644 --- a/Source/AdvancedSessions/Private/AdvancedFriendsLibrary.cpp +++ b/Source/AdvancedSessions/Private/AdvancedFriendsLibrary.cpp @@ -294,11 +294,20 @@ void UAdvancedFriendsLibrary::GetFriend(APlayerController *PlayerController, con TSharedPtr fr = FriendsInterface->GetFriend(Player->GetControllerId(), *FriendUniqueNetId.GetUniqueNetId(), EFriendsLists::ToString(EFriendsLists::Type::Default)); if (fr.IsValid()) { + FOnlineUserPresence pres = fr->GetPresence(); Friend.DisplayName = fr->GetDisplayName(); - Friend.OnlineState = ((EBPOnlinePresenceState::Type)((int32)fr->GetPresence().Status.State)); + Friend.OnlineState = ((EBPOnlinePresenceState::Type)((int32)pres.Status.State)); Friend.RealName = fr->GetRealName(); Friend.UniqueNetId.SetUniqueNetId(fr->GetUserId()); - Friend.bIsPlayingSameGame = fr->GetPresence().bIsPlayingThisGame; + Friend.bIsPlayingSameGame = pres.bIsPlayingThisGame; + + Friend.PresenceInfo.bHasVoiceSupport = pres.bHasVoiceSupport; + Friend.PresenceInfo.bIsJoinable = pres.bIsJoinable; + Friend.PresenceInfo.bIsOnline = pres.bIsOnline; + Friend.PresenceInfo.bIsPlaying = pres.bIsPlaying; + Friend.PresenceInfo.bIsPlayingThisGame = pres.bIsPlayingThisGame; + Friend.PresenceInfo.PresenceState = ((EBPOnlinePresenceState::Type)((int32)pres.Status.State)); + Friend.PresenceInfo.StatusString = pres.Status.StatusStr; } } @@ -400,19 +409,21 @@ void UAdvancedFriendsLibrary::GetStoredFriendsList(APlayerController *PlayerCont { TSharedRef Friend = FriendList[i]; FBPFriendInfo BPF; + FOnlineUserPresence pres = Friend->GetPresence(); - BPF.OnlineState = ((EBPOnlinePresenceState::Type)((int32)Friend->GetPresence().Status.State)); + BPF.OnlineState = ((EBPOnlinePresenceState::Type)((int32)pres.Status.State)); BPF.DisplayName = Friend->GetDisplayName(); BPF.RealName = Friend->GetRealName(); BPF.UniqueNetId.SetUniqueNetId(Friend->GetUserId()); - BPF.bIsPlayingSameGame = Friend->GetPresence().bIsPlayingThisGame; + BPF.bIsPlayingSameGame = pres.bIsPlayingThisGame; - BPF.PresenceInfo.bIsOnline = Friend->GetPresence().bIsOnline; - BPF.PresenceInfo.bIsPlaying = Friend->GetPresence().bIsPlaying; - BPF.PresenceInfo.PresenceState = ((EBPOnlinePresenceState::Type)((int32)Friend->GetPresence().Status.State)); - BPF.PresenceInfo.StatusString = Friend->GetPresence().Status.StatusStr; - BPF.PresenceInfo.bIsJoinable = Friend->GetPresence().bIsJoinable; - BPF.PresenceInfo.bIsPlayingThisGame = Friend->GetPresence().bIsPlayingThisGame; + BPF.PresenceInfo.bIsOnline = pres.bIsOnline; + BPF.PresenceInfo.bHasVoiceSupport = pres.bHasVoiceSupport; + BPF.PresenceInfo.bIsPlaying = pres.bIsPlaying; + BPF.PresenceInfo.PresenceState = ((EBPOnlinePresenceState::Type)((int32)pres.Status.State)); + BPF.PresenceInfo.StatusString = pres.Status.StatusStr; + BPF.PresenceInfo.bIsJoinable = pres.bIsJoinable; + BPF.PresenceInfo.bIsPlayingThisGame = pres.bIsPlayingThisGame; FriendsList.Add(BPF); } diff --git a/Source/AdvancedSessions/Private/GetFriendsCallbackProxy.cpp b/Source/AdvancedSessions/Private/GetFriendsCallbackProxy.cpp index ccba529..f30714d 100644 --- a/Source/AdvancedSessions/Private/GetFriendsCallbackProxy.cpp +++ b/Source/AdvancedSessions/Private/GetFriendsCallbackProxy.cpp @@ -63,18 +63,21 @@ void UGetFriendsCallbackProxy::OnReadFriendsListCompleted(int32 LocalUserNum, bo { TSharedRef Friend = FriendList[i]; FBPFriendInfo BPF; - BPF.OnlineState = ((EBPOnlinePresenceState::Type)((int32)Friend->GetPresence().Status.State)); + FOnlineUserPresence pres = Friend->GetPresence(); + BPF.OnlineState = ((EBPOnlinePresenceState::Type)((int32)pres.Status.State)); BPF.DisplayName = Friend->GetDisplayName(); BPF.RealName = Friend->GetRealName(); BPF.UniqueNetId.SetUniqueNetId(Friend->GetUserId()); - BPF.bIsPlayingSameGame = Friend->GetPresence().bIsPlayingThisGame; + BPF.bIsPlayingSameGame = pres.bIsPlayingThisGame; + + BPF.PresenceInfo.bIsOnline = pres.bIsOnline; + BPF.PresenceInfo.bHasVoiceSupport = pres.bHasVoiceSupport; + BPF.PresenceInfo.bIsPlaying = pres.bIsPlaying; + BPF.PresenceInfo.PresenceState = ((EBPOnlinePresenceState::Type)((int32)pres.Status.State)); + BPF.PresenceInfo.StatusString = pres.Status.StatusStr; + BPF.PresenceInfo.bIsJoinable = pres.bIsJoinable; + BPF.PresenceInfo.bIsPlayingThisGame = pres.bIsPlayingThisGame; - BPF.PresenceInfo.bIsOnline = Friend->GetPresence().bIsOnline; - BPF.PresenceInfo.bIsPlaying = Friend->GetPresence().bIsPlaying; - BPF.PresenceInfo.PresenceState = ((EBPOnlinePresenceState::Type)((int32)Friend->GetPresence().Status.State)); - BPF.PresenceInfo.StatusString = Friend->GetPresence().Status.StatusStr; - BPF.PresenceInfo.bIsJoinable = Friend->GetPresence().bIsJoinable; - BPF.PresenceInfo.bIsPlayingThisGame = Friend->GetPresence().bIsPlayingThisGame; FriendsListOut.Add(BPF); }