6#include "CoreMinimal.h"
7#include "Interfaces/OnlineFriendsInterface.h"
8#include "Interfaces/OnlinePresenceInterface.h"
9#include "OnlineSubsystemPico.h"
10#include "OnlineSubsystemPicoTypes.h"
11#include "OnlineSubsystemPicoPackage.h"
24#if ENGINE_MAJOR_VERSION > 4
25 FUniqueNetIdPicoRef UserId;
26#elif ENGINE_MINOR_VERSION > 26
27 FUniqueNetIdPicoRef UserId;
28#elif ENGINE_MINOR_VERSION > 24
29 TSharedRef<const FUniqueNetIdPico> UserId;
32 const FString StrUserId;
33 const FString DisplayName;
34 FOnlineUserPresence Presence;
35 const FString InviteToken;
36 const FString ImageUrl;
38 const FString SmallImageUrl;
39 const FString PresencePackage;
40 ppfUserPresenceStatus UserPresenceStatus;
41 const FString Presencestr;
42 const FString PresenceDeeplinkMessage;
43 const FString PresenceDestinationApiName;
44 const FString PresenceLobbySessionId;
45 const FString PresenceMatchSessionId;
46 const FString PresenceExtra;
48 FOnlinePicoFriend(
const FString StrId,
const FString& InDisplayName, ppfUserPresenceStatus FriendPresenceStatus,
49 const FString& InInviteToken,
const FString& InImageUrl, ppfGender InGender,
const FString& InSmallImageUrl,
50 const FString& InPresencePackage,
const FString& InPresence,
const FString& InPresenceDeeplinkMessage,
51 const FString& InPresenceDestinationApiName,
const FString& InPresenceLobbySessionId,
const FString& InPresenceMatchSessionId,
52 const FString& InExtra) :
54#if ENGINE_MAJOR_VERSION > 4
55 UserId(FUniqueNetIdPico::Create(StrId)),
56#elif ENGINE_MINOR_VERSION > 26
57 UserId(FUniqueNetIdPico::Create(StrId)),
58#elif ENGINE_MINOR_VERSION > 24
59 UserId(
new FUniqueNetIdPico(StrId)),
62 DisplayName(InDisplayName),
63 InviteToken(InInviteToken),
66 SmallImageUrl(InSmallImageUrl),
67 PresencePackage(InPresencePackage),
68 UserPresenceStatus(FriendPresenceStatus),
69 Presencestr(InPresence),
70 PresenceDeeplinkMessage(InPresenceDeeplinkMessage),
71 PresenceDestinationApiName(InPresenceDestinationApiName),
72 PresenceLobbySessionId(InPresenceLobbySessionId),
73 PresenceMatchSessionId(InPresenceMatchSessionId),
74 PresenceExtra(InExtra)
76 Presence.bIsOnline = FriendPresenceStatus == ppfUserPresenceStatus_OnLine;
78#if ENGINE_MAJOR_VERSION > 4
79 virtual FUniqueNetIdRef GetUserId()
const override
83#elif ENGINE_MINOR_VERSION > 26
84 virtual FUniqueNetIdRef GetUserId()
const override
88#elif ENGINE_MINOR_VERSION > 24
89 virtual TSharedRef<const FUniqueNetId> GetUserId()
const override
96 FString GetUserStrId()
const
101 virtual FString GetRealName()
const override
106 virtual FString GetDisplayName(
const FString& Platform = FString())
const override
111 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override
116 virtual EInviteStatus::Type GetInviteStatus()
const override
118 return EInviteStatus::Accepted;
121 virtual const FOnlineUserPresence& GetPresence()
const override
126 FString GetInviteToken()
const
131 FString GetImageUrl()
const
136 FString GetPresencePackage()
const
138 return PresencePackage;
140 FString GetPresencechar()
const
144 FString GetPresenceDeeplinkMessage()
const
146 return PresenceDeeplinkMessage;
149 FString GetPresenceDestinationApiName()
const
151 return PresenceDestinationApiName;
154 FString GetPresenceLobbySessionId()
const
156 return PresenceLobbySessionId;
159 FString GetPresenceMatchSessionId()
const
161 return PresenceMatchSessionId;
164 FString GetPresenceExtra()
const
166 return PresenceExtra;
169 FString GetSmallImageUrl()
const
171 return SmallImageUrl;
173 ppfUserPresenceStatus GetUserPresenceStates()
const
175 return UserPresenceStatus;
178 ppfGender GetGender()
const
205 FOnlineSubsystemPico& PicoSubsystem;
208 TMap<FString, TSharedRef<FOnlineFriend>> PlayerFriends;
211 TMap<FString, TSharedRef<FOnlineFriend>> InvitableUsers;
216 void OnQueryFriendsComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum,
const FString& ListName, TMap<FString, TSharedRef<FOnlineFriend>>& OutList,
bool bAppendToExistingMap,
const FOnReadFriendsListComplete& Delegate);
220 static const FString FriendsListInviteableUsers;
242 virtual bool ReadFriendsList(int32 LocalUserNum,
const FString & ListName,
const FOnReadFriendsListComplete & Delegate = FOnReadFriendsListComplete())
override;
244 bool ReadFriendsList(int32 LocalUserNum,
const FString& ListName, ppfID RoomId,
const FOnReadFriendsListComplete& Delegate = FOnReadFriendsListComplete());
247 virtual bool DeleteFriendsList(int32 LocalUserNum,
const FString & ListName,
const FOnDeleteFriendsListComplete & Delegate = FOnDeleteFriendsListComplete())
override;
250 virtual bool SendInvite(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName,
const FOnSendInviteComplete & Delegate = FOnSendInviteComplete())
override;
253 virtual bool AcceptInvite(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName,
const FOnAcceptInviteComplete & Delegate = FOnAcceptInviteComplete())
override;
256 virtual bool RejectInvite(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
259 virtual void SetFriendAlias(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FString& Alias,
const FOnSetFriendAliasComplete& Delegate = FOnSetFriendAliasComplete())
override;
262 virtual void DeleteFriendAlias(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName,
const FOnDeleteFriendAliasComplete & Delegate = FOnDeleteFriendAliasComplete())
override;
265 virtual bool DeleteFriend(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
277 virtual bool GetFriendsList(int32 LocalUserNum,
const FString & ListName, TArray< TSharedRef<FOnlineFriend> >&OutFriends)
override;
284 virtual TSharedPtr<FOnlineFriend>
GetFriend(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
296 virtual bool IsFriend(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
299 virtual bool QueryRecentPlayers(
const FUniqueNetId & UserId,
const FString & Namespace)
override;
302 virtual bool GetRecentPlayers(
const FUniqueNetId & UserId,
const FString & Namespace, TArray< TSharedRef<FOnlineRecentPlayer> >&OutRecentPlayers)
override;
305 virtual void DumpRecentPlayers()
const override;
308 virtual bool BlockPlayer(int32 LocalUserNum,
const FUniqueNetId & PlayerId)
override;
311 virtual bool UnblockPlayer(int32 LocalUserNum,
const FUniqueNetId & PlayerId)
override;
314 virtual bool QueryBlockedPlayers(
const FUniqueNetId & UserId)
override;
317 virtual bool GetBlockedPlayers(
const FUniqueNetId & UserId, TArray< TSharedRef<FOnlineBlockedPlayer> >&OutBlockedPlayers)
override;
320 virtual void DumpBlockedPlayers()
const override;
OnlineFriendsPico class inherited from IOnlineFriends(Unreal Engine).
Definition: OnlineFriendsInterfacePico.h:201
virtual bool ReadFriendsList(int32 LocalUserNum, const FString &ListName, const FOnReadFriendsListComplete &Delegate=FOnReadFriendsListComplete()) override
Starts an async task that reads the named friend list for a user.
virtual bool GetFriendsList(int32 LocalUserNum, const FString &ListName, TArray< TSharedRef< FOnlineFriend > > &OutFriends) override
Gets a list of friends previously retrieved from the online service for a user.
virtual bool IsFriend(int32 LocalUserNum, const FUniqueNetId &FriendId, const FString &ListName) override
Checks whether someone is the friend of a user.
virtual TSharedPtr< FOnlineFriend > GetFriend(int32 LocalUserNum, const FUniqueNetId &FriendId, const FString &ListName) override
Gets the cached friend entry if found.
OnlinePicoFriend class inherited from FOnlineFriend(Unreal Engine).
Definition: OnlineFriendsInterfacePico.h:20