16#include "CoreMinimal.h"
17#include "Interfaces/OnlineFriendsInterface.h"
18#include "Interfaces/OnlinePresenceInterface.h"
19#include "OnlineSubsystemPico.h"
20#include "OnlineSubsystemPicoTypes.h"
21#include "OnlineSubsystemPicoPackage.h"
34#if ENGINE_MAJOR_VERSION > 4
35 FUniqueNetIdPicoRef UserId;
36#elif ENGINE_MINOR_VERSION > 26
37 FUniqueNetIdPicoRef UserId;
38#elif ENGINE_MINOR_VERSION > 24
39 TSharedRef<const FUniqueNetIdPico> UserId;
42 const FString StrUserId;
43 const FString DisplayName;
44 FOnlineUserPresence Presence;
45 const FString InviteToken;
46 const FString ImageUrl;
48 const FString SmallImageUrl;
49 const FString PresencePackage;
50 ppfUserPresenceStatus UserPresenceStatus;
51 const FString Presencestr;
52 const FString PresenceDeeplinkMessage;
53 const FString PresenceDestinationApiName;
54 const FString PresenceLobbySessionId;
55 const FString PresenceMatchSessionId;
56 const FString PresenceExtra;
58 FOnlinePicoFriend(
const FString StrId,
const FString& InDisplayName, ppfUserPresenceStatus FriendPresenceStatus,
59 const FString& InInviteToken,
const FString& InImageUrl, ppfGender InGender,
const FString& InSmallImageUrl,
60 const FString& InPresencePackage,
const FString& InPresence,
const FString& InPresenceDeeplinkMessage,
61 const FString& InPresenceDestinationApiName,
const FString& InPresenceLobbySessionId,
const FString& InPresenceMatchSessionId,
62 const FString& InExtra) :
64#if ENGINE_MAJOR_VERSION > 4
65 UserId(FUniqueNetIdPico::Create(StrId)),
66#elif ENGINE_MINOR_VERSION > 26
67 UserId(FUniqueNetIdPico::Create(StrId)),
68#elif ENGINE_MINOR_VERSION > 24
69 UserId(
new FUniqueNetIdPico(StrId)),
72 DisplayName(InDisplayName),
73 InviteToken(InInviteToken),
76 SmallImageUrl(InSmallImageUrl),
77 PresencePackage(InPresencePackage),
78 UserPresenceStatus(FriendPresenceStatus),
79 Presencestr(InPresence),
80 PresenceDeeplinkMessage(InPresenceDeeplinkMessage),
81 PresenceDestinationApiName(InPresenceDestinationApiName),
82 PresenceLobbySessionId(InPresenceLobbySessionId),
83 PresenceMatchSessionId(InPresenceMatchSessionId),
84 PresenceExtra(InExtra)
86 Presence.bIsOnline = FriendPresenceStatus == ppfUserPresenceStatus_OnLine;
88#if ENGINE_MAJOR_VERSION > 4
89 virtual FUniqueNetIdRef GetUserId()
const override
93#elif ENGINE_MINOR_VERSION > 26
94 virtual FUniqueNetIdRef GetUserId()
const override
98#elif ENGINE_MINOR_VERSION > 24
99 virtual TSharedRef<const FUniqueNetId> GetUserId()
const override
106 FString GetUserStrId()
const
111 virtual FString GetRealName()
const override
116 virtual FString GetDisplayName(
const FString& Platform = FString())
const override
121 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override
126 virtual EInviteStatus::Type GetInviteStatus()
const override
128 return EInviteStatus::Accepted;
131 virtual const FOnlineUserPresence& GetPresence()
const override
136 FString GetInviteToken()
const
141 FString GetImageUrl()
const
146 FString GetPresencePackage()
const
148 return PresencePackage;
150 FString GetPresencechar()
const
154 FString GetPresenceDeeplinkMessage()
const
156 return PresenceDeeplinkMessage;
159 FString GetPresenceDestinationApiName()
const
161 return PresenceDestinationApiName;
164 FString GetPresenceLobbySessionId()
const
166 return PresenceLobbySessionId;
169 FString GetPresenceMatchSessionId()
const
171 return PresenceMatchSessionId;
174 FString GetPresenceExtra()
const
176 return PresenceExtra;
179 FString GetSmallImageUrl()
const
181 return SmallImageUrl;
183 ppfUserPresenceStatus GetUserPresenceStates()
const
185 return UserPresenceStatus;
188 ppfGender GetGender()
const
215 FOnlineSubsystemPico& PicoSubsystem;
218 TMap<FString, TSharedRef<FOnlineFriend>> PlayerFriends;
221 TMap<FString, TSharedRef<FOnlineFriend>> InvitableUsers;
226 void OnQueryFriendsComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum,
const FString& ListName, TMap<FString, TSharedRef<FOnlineFriend>>& OutList,
bool bAppendToExistingMap,
const FOnReadFriendsListComplete& Delegate);
230 static const FString FriendsListInviteableUsers;
252 virtual bool ReadFriendsList(int32 LocalUserNum,
const FString& ListName,
const FOnReadFriendsListComplete& Delegate = FOnReadFriendsListComplete())
override;
254 bool ReadFriendsList(int32 LocalUserNum,
const FString& ListName, ppfID RoomId,
const FOnReadFriendsListComplete& Delegate = FOnReadFriendsListComplete());
257 virtual bool DeleteFriendsList(int32 LocalUserNum,
const FString& ListName,
const FOnDeleteFriendsListComplete& Delegate = FOnDeleteFriendsListComplete())
override;
260 virtual bool SendInvite(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FOnSendInviteComplete& Delegate = FOnSendInviteComplete())
override;
263 virtual bool AcceptInvite(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FOnAcceptInviteComplete& Delegate = FOnAcceptInviteComplete())
override;
266 virtual bool RejectInvite(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
269 virtual void SetFriendAlias(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FString& Alias,
const FOnSetFriendAliasComplete& Delegate = FOnSetFriendAliasComplete())
override;
272 virtual void DeleteFriendAlias(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FOnDeleteFriendAliasComplete& Delegate = FOnDeleteFriendAliasComplete())
override;
275 virtual bool DeleteFriend(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
287 virtual bool GetFriendsList(int32 LocalUserNum,
const FString& ListName, TArray< TSharedRef<FOnlineFriend> >& OutFriends)
override;
294 virtual TSharedPtr<FOnlineFriend>
GetFriend(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
306 virtual bool IsFriend(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
309 virtual bool QueryRecentPlayers(
const FUniqueNetId& UserId,
const FString& Namespace)
override;
312 virtual bool GetRecentPlayers(
const FUniqueNetId& UserId,
const FString& Namespace, TArray< TSharedRef<FOnlineRecentPlayer> >& OutRecentPlayers)
override;
315 virtual void DumpRecentPlayers()
const override;
318 virtual bool BlockPlayer(int32 LocalUserNum,
const FUniqueNetId& PlayerId)
override;
321 virtual bool UnblockPlayer(int32 LocalUserNum,
const FUniqueNetId& PlayerId)
override;
324 virtual bool QueryBlockedPlayers(
const FUniqueNetId& UserId)
override;
327 virtual bool GetBlockedPlayers(
const FUniqueNetId& UserId, TArray< TSharedRef<FOnlineBlockedPlayer> >& OutBlockedPlayers)
override;
330 virtual void DumpBlockedPlayers()
const override;
OnlineFriendsPico class inherited from IOnlineFriends(Unreal Engine).
Definition: OnlineFriendsInterfacePico.h:211
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:30