17#include "CoreMinimal.h"
18#include "OnlineSubsystemPico.h"
19#include "Interfaces/OnlineIdentityInterface.h"
20#include "PPF_Platform.h"
21#include "OnlineSubsystemPicoNames.h"
23#include "OnlineFriendsInterfacePico.h"
24#include "OnlineSubsystemPicoTypes.h"
31DECLARE_DELEGATE_ThreeParams(FOnGetUserAndRoomDelegate,
const FString& ,
bool ,
const FString& );
38#if ENGINE_MAJOR_VERSION > 4
40#elif ENGINE_MINOR_VERSION > 26
42#elif ENGINE_MINOR_VERSION > 24
55#if ENGINE_MAJOR_VERSION > 4
56 FUniqueNetIdRef UserId;
57#elif ENGINE_MINOR_VERSION > 26
58 FUniqueNetIdRef UserId;
59#elif ENGINE_MINOR_VERSION > 24
60 TSharedRef<const FUniqueNetId> UserId;
72#if ENGINE_MAJOR_VERSION > 4
73 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
74#elif ENGINE_MINOR_VERSION > 26
75 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
76#elif ENGINE_MINOR_VERSION > 24
77 virtual TSharedRef<const FUniqueNetId> GetUserId()
const override {
return UserId; }
80 virtual FString GetRealName()
const override {
return Name; }
83 virtual FString GetDisplayName(
const FString& Platform = FString())
const override {
return Name; }
86 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
89 virtual bool SetUserAttribute(
const FString& AttrName,
const FString& AttrValue)
override;
95 virtual FString GetAccessToken()
const override {
return TEXT(
"ACCESSTOKEN"); }
99 virtual bool GetAuthAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
136 virtual bool Login(int32 LocalUserNum,
const FOnlineAccountCredentials& AccountCredentials)
override;
148 virtual bool Logout(int32 LocalUserNum)
override;
165 virtual TSharedPtr<FUserOnlineAccount>
GetUserAccount(
const FUniqueNetId& UserId)
const override;
208 virtual ELoginStatus::Type
GetLoginStatus(
const FUniqueNetId& UserId)
const override;
221 virtual FString GetAuthToken(int32 LocalUserNum)
const override;
224 virtual void RevokeAuthToken(
const FUniqueNetId& UserId,
const FOnRevokeAuthTokenCompleteDelegate& Delegate)
override;
228 virtual void GetUserPrivilege(
const FUniqueNetId& UserId, EUserPrivileges::Type Privilege,
const FOnGetUserPrivilegeCompleteDelegate& Delegate)
override;
231 virtual FPlatformUserId GetPlatformUserIdFromUniqueNetId(
const FUniqueNetId& UniqueNetId)
const override;
237 UPico_User* GetLoginPicoUser(int32 LocalUserNum);
255 void OnLoginComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum);
260 FOnlineSubsystemPico& PicoSubsystem;
263#if ENGINE_MAJOR_VERSION > 4
264 TMap<int32, FUniqueNetIdRef>
UserIds;
265#elif ENGINE_MINOR_VERSION > 26
266 TMap<int32, FUniqueNetIdRef>
UserIds;
267#elif ENGINE_MINOR_VERSION > 24
268 TMap<int32, TSharedPtr<const FUniqueNetId>>
UserIds;
270 TMap<int32, UPico_User*> LoginPicoUserMap;
273#if ENGINE_MAJOR_VERSION > 4
274 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
275#elif ENGINE_MINOR_VERSION > 26
276 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
277#elif ENGINE_MINOR_VERSION > 24
278 TMap<FUniqueNetIdPico, TSharedRef<FUserOnlineAccountPico>> UserAccounts;
284typedef TSharedPtr<FOnlineIdentityPico, ESPMode::ThreadSafe> FOnlineIdentityPicoPtr;
OnlineIdentityPico class inherited from IOnlineIdentity(Unreal Engine)
Definition: OnlineIdentityPico.h:122
virtual bool AutoLogin(int32 LocalUserNum) override
Logs a user in to the online service.
virtual TArray< TSharedPtr< FUserOnlineAccount > > GetAllUserAccounts() const override
Gets the account information of all known/registered users.
virtual ELoginStatus::Type GetLoginStatus(const FUniqueNetId &UserId) const override
Gets a user's login status by unique net ID.
virtual ELoginStatus::Type GetLoginStatus(int32 LocalUserNum) const override
Gets a user's login status by controller number.
virtual bool Logout(int32 LocalUserNum) override
Clears the account login information for a user.
virtual FString GetAuthType() const override
Gets the auth type associated with accounts for this platform.
virtual TSharedPtr< const FUniqueNetId > CreateUniquePlayerId(uint8 *Bytes, int32 Size) override
Creates a unique ID from binary data (used during replication).
virtual TSharedPtr< FUserOnlineAccount > GetUserAccount(const FUniqueNetId &UserId) const override
Gets the account information of a registered user.
virtual TSharedPtr< const FUniqueNetId > GetUniquePlayerId(int32 LocalUserNum) const override
Gets the platform-specific unique ID for a user.
virtual FString GetPlayerNickname(int32 LocalUserNum) const override
Gets a users's nickname from the online service by controller number.
virtual bool Login(int32 LocalUserNum, const FOnlineAccountCredentials &AccountCredentials) override
Gets the account login information for a user.
virtual FString GetPlayerNickname(const FUniqueNetId &UserId) const override
Gets a user's nickname from the online service by unique net ID.
virtual TSharedPtr< const FUniqueNetId > CreateUniquePlayerId(const FString &Str) override
Creates a unique ID from string.
UserOnlineAccountPico class inherited from FUserOnlineAccount(Unreal Engine).
Definition: OnlineIdentityPico.h:35
TMap< FString, FString > UserAttributes
Definition: OnlineIdentityPico.h:65
TMap< FString, FString > AdditionalAuthData
Definition: OnlineIdentityPico.h:63