4#include "CoreMinimal.h"
5#include "Interfaces/OnlineFriendsInterface.h"
6#include "Interfaces/OnlinePresenceInterface.h"
7#include "OnlineSubsystemPico.h"
8#include "OnlineSubsystemPicoTypes.h"
9#include "OnlineSubsystemPicoPackage.h"
22#if ENGINE_MAJOR_VERSION > 4
23 FUniqueNetIdPicoRef UserId;
24#elif ENGINE_MINOR_VERSION > 26
25 FUniqueNetIdPicoRef UserId;
26#elif ENGINE_MINOR_VERSION > 24
27 TSharedRef<const FUniqueNetIdPico> UserId;
30 const FString StrUserId;
31 const FString DisplayName;
32 FOnlineUserPresence Presence;
33 const FString InviteToken;
34 const FString ImageUrl;
36 const FString SmallImageUrl;
37 const FString PresencePackage;
38 ppfUserPresenceStatus UserPresenceStatus;
39 const FString Presencestr;
40 const FString PresenceDeeplinkMessage;
41 const FString PresenceDestinationApiName;
42 const FString PresenceLobbySessionId;
43 const FString PresenceMatchSessionId;
44 const FString PresenceExtra;
46 FOnlinePicoFriend(
const FString StrId,
const FString& InDisplayName, ppfUserPresenceStatus FriendPresenceStatus,
47 const FString& InInviteToken,
const FString& InImageUrl, ppfGender InGender,
const FString& InSmallImageUrl,
48 const FString& InPresencePackage,
const FString& InPresence,
const FString& InPresenceDeeplinkMessage,
49 const FString& InPresenceDestinationApiName,
const FString& InPresenceLobbySessionId,
const FString& InPresenceMatchSessionId,
50 const FString& InExtra) :
52#if ENGINE_MAJOR_VERSION > 4
53 UserId(FUniqueNetIdPico::Create(StrId)),
54#elif ENGINE_MINOR_VERSION > 26
55 UserId(FUniqueNetIdPico::Create(StrId)),
56#elif ENGINE_MINOR_VERSION > 24
57 UserId(
new FUniqueNetIdPico(StrId)),
60 DisplayName(InDisplayName),
61 InviteToken(InInviteToken),
64 SmallImageUrl(InSmallImageUrl),
65 PresencePackage(InPresencePackage),
66 UserPresenceStatus(FriendPresenceStatus),
67 Presencestr(InPresence),
68 PresenceDeeplinkMessage(InPresenceDeeplinkMessage),
69 PresenceDestinationApiName(InPresenceDestinationApiName),
70 PresenceLobbySessionId(InPresenceLobbySessionId),
71 PresenceMatchSessionId(InPresenceMatchSessionId),
72 PresenceExtra(InExtra)
74 Presence.bIsOnline = FriendPresenceStatus == ppfUserPresenceStatus_OnLine;
76#if ENGINE_MAJOR_VERSION > 4
77 virtual FUniqueNetIdRef GetUserId()
const override
81#elif ENGINE_MINOR_VERSION > 26
82 virtual FUniqueNetIdRef GetUserId()
const override
86#elif ENGINE_MINOR_VERSION > 24
87 virtual TSharedRef<const FUniqueNetId> GetUserId()
const override
94 FString GetUserStrId()
const
99 virtual FString GetRealName()
const override
104 virtual FString GetDisplayName(
const FString& Platform = FString())
const override
109 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override
114 virtual EInviteStatus::Type GetInviteStatus()
const override
116 return EInviteStatus::Accepted;
119 virtual const FOnlineUserPresence& GetPresence()
const override
124 FString GetInviteToken()
const
129 FString GetImageUrl()
const
134 FString GetPresencePackage()
const
136 return PresencePackage;
138 FString GetPresencechar()
const
142 FString GetPresenceDeeplinkMessage()
const
144 return PresenceDeeplinkMessage;
147 FString GetPresenceDestinationApiName()
const
149 return PresenceDestinationApiName;
152 FString GetPresenceLobbySessionId()
const
154 return PresenceLobbySessionId;
157 FString GetPresenceMatchSessionId()
const
159 return PresenceMatchSessionId;
162 FString GetPresenceExtra()
const
164 return PresenceExtra;
167 FString GetSmallImageUrl()
const
169 return SmallImageUrl;
171 ppfUserPresenceStatus GetUserPresenceStates()
const
173 return UserPresenceStatus;
176 ppfGender GetGender()
const
203 FOnlineSubsystemPico& PicoSubsystem;
206 TMap<FString, TSharedRef<FOnlineFriend>> PlayerFriends;
209 TMap<FString, TSharedRef<FOnlineFriend>> InvitableUsers;
214 void OnQueryFriendsComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum,
const FString& ListName, TMap<FString, TSharedRef<FOnlineFriend>>& OutList,
bool bAppendToExistingMap,
const FOnReadFriendsListComplete& Delegate);
218 static const FString FriendsListInviteableUsers;
240 virtual bool ReadFriendsList(int32 LocalUserNum,
const FString& ListName,
const FOnReadFriendsListComplete& Delegate = FOnReadFriendsListComplete())
override;
242 bool ReadFriendsList(int32 LocalUserNum,
const FString& ListName, ppfID RoomId,
const FOnReadFriendsListComplete& Delegate = FOnReadFriendsListComplete());
245 virtual bool DeleteFriendsList(int32 LocalUserNum,
const FString& ListName,
const FOnDeleteFriendsListComplete& Delegate = FOnDeleteFriendsListComplete())
override;
248 virtual bool SendInvite(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FOnSendInviteComplete& Delegate = FOnSendInviteComplete())
override;
251 virtual bool AcceptInvite(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FOnAcceptInviteComplete& Delegate = FOnAcceptInviteComplete())
override;
254 virtual bool RejectInvite(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
257 virtual void SetFriendAlias(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FString& Alias,
const FOnSetFriendAliasComplete& Delegate = FOnSetFriendAliasComplete())
override;
260 virtual void DeleteFriendAlias(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName,
const FOnDeleteFriendAliasComplete& Delegate = FOnDeleteFriendAliasComplete())
override;
263 virtual bool DeleteFriend(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
275 virtual bool GetFriendsList(int32 LocalUserNum,
const FString& ListName, TArray< TSharedRef<FOnlineFriend> >& OutFriends)
override;
282 virtual TSharedPtr<FOnlineFriend>
GetFriend(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
294 virtual bool IsFriend(int32 LocalUserNum,
const FUniqueNetId& FriendId,
const FString& ListName)
override;
297 virtual bool QueryRecentPlayers(
const FUniqueNetId& UserId,
const FString& Namespace)
override;
300 virtual bool GetRecentPlayers(
const FUniqueNetId& UserId,
const FString& Namespace, TArray< TSharedRef<FOnlineRecentPlayer> >& OutRecentPlayers)
override;
303 virtual void DumpRecentPlayers()
const override;
306 virtual bool BlockPlayer(int32 LocalUserNum,
const FUniqueNetId& PlayerId)
override;
309 virtual bool UnblockPlayer(int32 LocalUserNum,
const FUniqueNetId& PlayerId)
override;
312 virtual bool QueryBlockedPlayers(
const FUniqueNetId& UserId)
override;
315 virtual bool GetBlockedPlayers(
const FUniqueNetId& UserId, TArray< TSharedRef<FOnlineBlockedPlayer> >& OutBlockedPlayers)
override;
318 virtual void DumpBlockedPlayers()
const override;
OnlineFriendsPico class inherited from IOnlineFriends(Unreal Engine).
Definition: OnlineFriendsInterfacePico.h:199
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:18