7#include "CoreMinimal.h"
8#include "OnlineSubsystemPico.h"
9#include "Interfaces/OnlineIdentityInterface.h"
10#include "PPF_Platform.h"
11#include "OnlineSubsystemPicoNames.h"
13#include "OnlineFriendsInterfacePico.h"
14#include "OnlineSubsystemPicoTypes.h"
21DECLARE_DELEGATE_ThreeParams(FOnGetUserAndRoomDelegate,
const FString& ,
bool ,
const FString& );
28#if ENGINE_MAJOR_VERSION > 4
30#elif ENGINE_MINOR_VERSION > 26
32#elif ENGINE_MINOR_VERSION > 24
45#if ENGINE_MAJOR_VERSION > 4
46 FUniqueNetIdRef UserId;
47#elif ENGINE_MINOR_VERSION > 26
48 FUniqueNetIdRef UserId;
49#elif ENGINE_MINOR_VERSION > 24
50 TSharedRef<const FUniqueNetId> UserId;
62#if ENGINE_MAJOR_VERSION > 4
63 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
64#elif ENGINE_MINOR_VERSION > 26
65 virtual FUniqueNetIdRef GetUserId()
const override {
return UserId; };
66#elif ENGINE_MINOR_VERSION > 24
67 virtual TSharedRef<const FUniqueNetId> GetUserId()
const override {
return UserId; }
70 virtual FString GetRealName()
const override {
return Name; }
73 virtual FString GetDisplayName(
const FString& Platform = FString())
const override {
return Name; }
76 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
79 virtual bool SetUserAttribute(
const FString& AttrName,
const FString& AttrValue)
override;
85 virtual FString GetAccessToken()
const override {
return TEXT(
"ACCESSTOKEN"); }
89 virtual bool GetAuthAttribute(
const FString& AttrName, FString& OutAttrValue)
const override;
126 virtual bool Login(int32 LocalUserNum,
const FOnlineAccountCredentials& AccountCredentials)
override;
138 virtual bool Logout(int32 LocalUserNum)
override;
148 virtual bool AutoLogin(int32 LocalUserNum)
override;
155 virtual TSharedPtr<FUserOnlineAccount>
GetUserAccount(
const FUniqueNetId& UserId)
const override;
172#if ENGINE_MAJOR_VERSION > 4
173 virtual FUniqueNetIdPtr GetUniquePlayerId(int32 LocalUserNum)
const override;
174#elif ENGINE_MINOR_VERSION > 26
175 virtual FUniqueNetIdPtr GetUniquePlayerId(int32 LocalUserNum)
const override;
176#elif ENGINE_MINOR_VERSION > 24
177 virtual TSharedPtr<const FUniqueNetId> GetUniquePlayerId(int32 LocalUserNum)
const override;
186#if ENGINE_MAJOR_VERSION > 4
187 virtual FUniqueNetIdPtr CreateUniquePlayerId(uint8* Bytes, int32 Size)
override;
188#elif ENGINE_MINOR_VERSION > 26
189 virtual FUniqueNetIdPtr CreateUniquePlayerId(uint8* Bytes, int32 Size)
override;
190#elif ENGINE_MINOR_VERSION > 24
191 virtual TSharedPtr<const FUniqueNetId> CreateUniquePlayerId(uint8* Bytes, int32 Size)
override;
199#if ENGINE_MAJOR_VERSION > 4
200 virtual FUniqueNetIdPtr CreateUniquePlayerId(
const FString& Str)
override;
201#elif ENGINE_MINOR_VERSION > 26
202 virtual FUniqueNetIdPtr CreateUniquePlayerId(
const FString& Str)
override;
203#elif ENGINE_MINOR_VERSION > 24
204 virtual TSharedPtr<const FUniqueNetId> CreateUniquePlayerId(
const FString& Str)
override;
211 virtual ELoginStatus::Type
GetLoginStatus(int32 LocalUserNum)
const override;
216 virtual ELoginStatus::Type
GetLoginStatus(
const FUniqueNetId& UserId)
const override;
229 virtual FString GetAuthToken(int32 LocalUserNum)
const override;
232 virtual void RevokeAuthToken(
const FUniqueNetId& UserId,
const FOnRevokeAuthTokenCompleteDelegate& Delegate)
override;
236 virtual void GetUserPrivilege(
const FUniqueNetId& UserId, EUserPrivileges::Type Privilege,
const FOnGetUserPrivilegeCompleteDelegate& Delegate)
override;
239 virtual FPlatformUserId GetPlatformUserIdFromUniqueNetId(
const FUniqueNetId& UniqueNetId)
const override;
245 UPico_User* GetLoginPicoUser(int32 LocalUserNum);
263 void OnLoginComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum);
271#if ENGINE_MAJOR_VERSION > 4
272 TMap<int32, FUniqueNetIdRef> UserIds;
273#elif ENGINE_MINOR_VERSION > 26
274 TMap<int32, FUniqueNetIdRef> UserIds;
275#elif ENGINE_MINOR_VERSION > 24
276 TMap<int32, TSharedPtr<const FUniqueNetId>> UserIds;
278 TMap<int32, UPico_User*> LoginPicoUserMap;
281#if ENGINE_MAJOR_VERSION > 4
282 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
283#elif ENGINE_MINOR_VERSION > 26
284 TUniqueNetIdMap<TSharedRef<FUserOnlineAccountPico>> UserAccounts;
285#elif ENGINE_MINOR_VERSION > 24
286 TMap<FUniqueNetIdPico, TSharedRef<FUserOnlineAccountPico>> UserAccounts;
292typedef TSharedPtr<FOnlineIdentityPico, ESPMode::ThreadSafe> FOnlineIdentityPicoPtr;
OnlineIdentityPico class inherited from IOnlineIdentity(Unreal Engine)
Definition: OnlineIdentityPico.h:112
virtual bool Login(int32 LocalUserNum, const FOnlineAccountCredentials &AccountCredentials) override
Gets the account login information for a user.
Definition: OnlineIdentityPico.cpp:45
virtual ELoginStatus::Type GetLoginStatus(int32 LocalUserNum) const override
Gets the platform-specific unique ID for a user.
Definition: OnlineIdentityPico.cpp:261
virtual FString GetPlayerNickname(int32 LocalUserNum) const override
Gets a users's nickname from the online service by controller number.
Definition: OnlineIdentityPico.cpp:290
virtual bool Logout(int32 LocalUserNum) override
Clears the account login information for a user.
Definition: OnlineIdentityPico.cpp:104
virtual FString GetAuthType() const override
Gets the auth type associated with accounts for this platform.
Definition: OnlineIdentityPico.cpp:383
virtual TArray< TSharedPtr< FUserOnlineAccount > > GetAllUserAccounts() const override
Gets the account information of all known/registered users.
Definition: OnlineIdentityPico.cpp:165
virtual bool AutoLogin(int32 LocalUserNum) override
Logs a user in to the online service.
Definition: OnlineIdentityPico.cpp:140
virtual TSharedPtr< FUserOnlineAccount > GetUserAccount(const FUniqueNetId &UserId) const override
Gets the account information of a registered user.
Definition: OnlineIdentityPico.cpp:146
OnlineSubsystemPico class inherited from FOnlineSubsystemImpl(Unreal Engine)
Definition: OnlineSubsystemPico.h:44
UserOnlineAccountPico class inherited from FUserOnlineAccount(Unreal Engine).
Definition: OnlineIdentityPico.h:25
TMap< FString, FString > UserAttributes
Definition: OnlineIdentityPico.h:55
TMap< FString, FString > AdditionalAuthData
Definition: OnlineIdentityPico.h:53