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;
209 virtual ELoginStatus::Type
GetLoginStatus(
const FUniqueNetId& UserId)
const override;
222 virtual FString GetAuthToken(int32 LocalUserNum)
const override;
225 virtual void RevokeAuthToken(
const FUniqueNetId& UserId,
const FOnRevokeAuthTokenCompleteDelegate& Delegate)
override;
229 virtual void GetUserPrivilege(
const FUniqueNetId& UserId, EUserPrivileges::Type Privilege,
const FOnGetUserPrivilegeCompleteDelegate& Delegate)
override;
232 virtual FPlatformUserId GetPlatformUserIdFromUniqueNetId(
const FUniqueNetId& UniqueNetId)
const override;
238 UPico_User* GetLoginPicoUser(int32 LocalUserNum);
256 void OnLoginComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum);
261 FOnlineSubsystemPico& PicoSubsystem;
264#if ENGINE_MAJOR_VERSION > 4
265 TMap<int32, FUniqueNetIdRef>
UserIds;
266#elif ENGINE_MINOR_VERSION > 26
267 TMap<int32, FUniqueNetIdRef>
UserIds;
268#elif ENGINE_MINOR_VERSION > 24
269 TMap<int32, TSharedPtr<const FUniqueNetId>>
UserIds;
271 TMap<int32, UPico_User*> LoginPicoUserMap;
274#if ENGINE_MAJOR_VERSION > 4
275 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
276#elif ENGINE_MINOR_VERSION > 26
277 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
278#elif ENGINE_MINOR_VERSION > 24
279 TMap<FUniqueNetIdPico, TSharedRef<FUserOnlineAccountPico>> UserAccounts;
285typedef 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
UPico_User class.
Definition: Pico_User.h:422