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& );
26#if ENGINE_MAJOR_VERSION > 4
28#elif ENGINE_MINOR_VERSION > 26
30#elif ENGINE_MINOR_VERSION > 24
43#if ENGINE_MAJOR_VERSION > 4
44 FUniqueNetIdRef UserId;
45#elif ENGINE_MINOR_VERSION > 26
46 FUniqueNetIdRef UserId;
47#elif ENGINE_MINOR_VERSION > 24
48 TSharedRef<const FUniqueNetId> UserId;
60#if ENGINE_MAJOR_VERSION > 4
61 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
62#elif ENGINE_MINOR_VERSION > 26
63 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
64#elif ENGINE_MINOR_VERSION > 24
65 virtual TSharedRef<const FUniqueNetId> GetUserId()
const override {
return UserId; }
68 virtual FString GetRealName()
const override {
return Name; }
71 virtual FString GetDisplayName(
const FString& Platform = FString())
const override {
return Name; }
74 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
77 virtual bool SetUserAttribute(
const FString& AttrName,
const FString& AttrValue)
override;
83 virtual FString GetAccessToken()
const override {
return TEXT(
"ACCESSTOKEN"); }
87 virtual bool GetAuthAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
124 virtual bool Login(int32 LocalUserNum,
const FOnlineAccountCredentials& AccountCredentials)
override;
136 virtual bool Logout(int32 LocalUserNum)
override;
153 virtual TSharedPtr<FUserOnlineAccount>
GetUserAccount(
const FUniqueNetId& UserId)
const override;
197 virtual ELoginStatus::Type
GetLoginStatus(
const FUniqueNetId& UserId)
const override;
210 virtual FString GetAuthToken(int32 LocalUserNum)
const override;
213 virtual void RevokeAuthToken(
const FUniqueNetId& UserId,
const FOnRevokeAuthTokenCompleteDelegate& Delegate)
override;
217 virtual void GetUserPrivilege(
const FUniqueNetId& UserId, EUserPrivileges::Type Privilege,
const FOnGetUserPrivilegeCompleteDelegate& Delegate)
override;
220 virtual FPlatformUserId GetPlatformUserIdFromUniqueNetId(
const FUniqueNetId& UniqueNetId)
const override;
226 UPico_User* GetLoginPicoUser(int32 LocalUserNum);
244 void OnLoginComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum);
249 FOnlineSubsystemPico& PicoSubsystem;
252#if ENGINE_MAJOR_VERSION > 4
253 TMap<int32, FUniqueNetIdRef>
UserIds;
254#elif ENGINE_MINOR_VERSION > 26
255 TMap<int32, FUniqueNetIdRef>
UserIds;
256#elif ENGINE_MINOR_VERSION > 24
257 TMap<int32, TSharedPtr<const FUniqueNetId>>
UserIds;
259 TMap<int32, UPico_User*> LoginPicoUserMap;
262 TMap<FUniqueNetIdPico, TSharedRef<FUserOnlineAccountPico>>
UserAccounts;
267typedef TSharedPtr<FOnlineIdentityPico, ESPMode::ThreadSafe> FOnlineIdentityPicoPtr;
OnlineIdentityPico class inherited from IOnlineIdentity(Unreal Engine)
Definition: OnlineIdentityPico.h:110
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.
TMap< FUniqueNetIdPico, TSharedRef< FUserOnlineAccountPico > > UserAccounts
IDs mapped to locally registered user accounts.
Definition: OnlineIdentityPico.h:262
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:23
TMap< FString, FString > UserAttributes
Definition: OnlineIdentityPico.h:53
TMap< FString, FString > AdditionalAuthData
Definition: OnlineIdentityPico.h:51
UPico_User class.
Definition: Pico_User.h:451