5#include "CoreMinimal.h"
6#include "OnlineSubsystemPico.h"
7#include "Interfaces/OnlineIdentityInterface.h"
8#include "PPF_Platform.h"
9#include "OnlineSubsystemPicoNames.h"
11#include "OnlineFriendsInterfacePico.h"
12#include "OnlineSubsystemPicoTypes.h"
19DECLARE_DELEGATE_ThreeParams(FOnGetUserAndRoomDelegate,
const FString& ,
bool ,
const FString& );
25#if ENGINE_MAJOR_VERSION > 4
27#elif ENGINE_MINOR_VERSION > 26
29#elif ENGINE_MINOR_VERSION > 24
42#if ENGINE_MAJOR_VERSION > 4
43 FUniqueNetIdRef UserId;
44#elif ENGINE_MINOR_VERSION > 26
45 FUniqueNetIdRef UserId;
46#elif ENGINE_MINOR_VERSION > 24
47 TSharedRef<const FUniqueNetId> UserId;
59#if ENGINE_MAJOR_VERSION > 4
60 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
61#elif ENGINE_MINOR_VERSION > 26
62 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
63#elif ENGINE_MINOR_VERSION > 24
64 virtual TSharedRef<const FUniqueNetId> GetUserId()
const override {
return UserId; }
67 virtual FString GetRealName()
const override {
return Name; }
70 virtual FString GetDisplayName(
const FString& Platform = FString())
const override {
return Name; }
73 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
76 virtual bool SetUserAttribute(
const FString& AttrName,
const FString& AttrValue)
override;
82 virtual FString GetAccessToken()
const override {
return TEXT(
"ACCESSTOKEN"); }
86 virtual bool GetAuthAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
123 virtual bool Login(int32 LocalUserNum,
const FOnlineAccountCredentials& AccountCredentials)
override;
135 virtual bool Logout(int32 LocalUserNum)
override;
152 virtual TSharedPtr<FUserOnlineAccount>
GetUserAccount(
const FUniqueNetId& UserId)
const override;
195 virtual ELoginStatus::Type
GetLoginStatus(
const FUniqueNetId& UserId)
const override;
208 virtual FString GetAuthToken(int32 LocalUserNum)
const override;
211 virtual void RevokeAuthToken(
const FUniqueNetId& UserId,
const FOnRevokeAuthTokenCompleteDelegate& Delegate)
override;
215 virtual void GetUserPrivilege(
const FUniqueNetId& UserId, EUserPrivileges::Type Privilege,
const FOnGetUserPrivilegeCompleteDelegate& Delegate)
override;
218 virtual FPlatformUserId GetPlatformUserIdFromUniqueNetId(
const FUniqueNetId& UniqueNetId)
const override;
220#if ENGINE_MINOR_VERSION > 26
221 virtual void GetLinkedAccountAuthToken(int32 LocalUserNum,
const FOnGetLinkedAccountAuthTokenCompleteDelegate& Delegate)
const override;
227 UPico_User* GetLoginPicoUser(int32 LocalUserNum);
229 void GetLoginUserOpenID(FGetIDToken OnGetIdTokenDelegate);
246 void OnLoginComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum);
251 FOnlineSubsystemPico& PicoSubsystem;
254#if ENGINE_MAJOR_VERSION > 4
255 TMap<int32, FUniqueNetIdRef>
UserIds;
256#elif ENGINE_MINOR_VERSION > 26
257 TMap<int32, FUniqueNetIdRef>
UserIds;
258#elif ENGINE_MINOR_VERSION > 24
259 TMap<int32, TSharedPtr<const FUniqueNetId>>
UserIds;
261 TMap<int32, UPico_User*> LoginPicoUserMap;
265#if ENGINE_MAJOR_VERSION > 4
266 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
267#elif ENGINE_MINOR_VERSION > 26
268 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
269#elif ENGINE_MINOR_VERSION > 24
270 TMap<FUniqueNetIdPico, TSharedRef<FUserOnlineAccountPico>> UserAccounts;
276typedef TSharedPtr<FOnlineIdentityPico, ESPMode::ThreadSafe> FOnlineIdentityPicoPtr;
OnlineIdentityPico class inherited from IOnlineIdentity(Unreal Engine)
Definition: OnlineIdentityPico.h:109
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:22
TMap< FString, FString > UserAttributes
Definition: OnlineIdentityPico.h:52
TMap< FString, FString > AdditionalAuthData
Definition: OnlineIdentityPico.h:50
UPico_User class.
Definition: Pico_User.h:515