Loading...
Searching...
No Matches
FOnlineSubsystemAccelByte Class Referencefinal
Inheritance diagram for FOnlineSubsystemAccelByte:

Public Member Functions

void OnPostEngineInit ()
virtual bool Init () override
virtual bool Shutdown () override
virtual FString GetAppId () const override
virtual FText GetOnlineServiceName () const override
virtual IOnlineSessionPtr GetSessionInterface () const override
virtual IOnlineFriendsPtr GetFriendsInterface () const override
virtual IOnlineIdentityPtr GetIdentityInterface () const override
virtual IOnlineExternalUIPtr GetExternalUIInterface () const override
virtual IOnlineUserPtr GetUserInterface () const override
virtual IOnlineUserCloudPtr GetUserCloudInterface () const override
virtual IOnlinePartyPtr GetPartyInterface () const override
virtual IOnlinePresencePtr GetPresenceInterface () const override
virtual IOnlineStoreV2Ptr GetStoreV2Interface () const override
virtual IOnlinePurchasePtr GetPurchaseInterface () const override
virtual IOnlineEntitlementsPtr GetEntitlementsInterface () const override
virtual IOnlineAchievementsPtr GetAchievementsInterface () const override
virtual FOnlineAgreementAccelBytePtr GetAgreementInterface () const
virtual FOnlineWalletAccelBytePtr GetWalletInterface () const
virtual FOnlineWalletV2AccelBytePtr GetWalletV2Interface () const
virtual FOnlineCloudSaveAccelBytePtr GetCloudSaveInterface () const
virtual FOnlineBinaryCloudSaveAccelBytePtr GetBinaryCloudSaveInterface () const
virtual IOnlineTimePtr GetTimeInterface () const override
virtual FOnlineAnalyticsAccelBytePtr GetAnalyticsInterface () const
virtual IOnlineStatsPtr GetStatsInterface () const override
virtual IOnlineLeaderboardsPtr GetLeaderboardsInterface () const override
virtual IOnlineChatPtr GetChatInterface () const override
virtual IOnlineGroupsPtr GetGroupsInterface () const override
virtual FOnlineAuthAccelBytePtr GetAuthInterface () const
virtual IOnlineVoicePtr GetVoiceInterface () const override
virtual FOnlinePredefinedEventAccelBytePtr GetPredefinedEventInterface () const
virtual FOnlineGameStandardEventAccelBytePtr GetGameStandardEventInterface () const
virtual FOnlineSubsystemAccelByteConfigPtr GetConfig () const
IVoiceChatPtr GetVoiceChatInterface ()
virtual bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar) override
virtual bool IsEnabled () const override
FOnlineUserCacheAccelBytePtr GetUserCache () const
virtual bool Tick (float DeltaTime) override
bool IsNativeSubsystemSupported (const FName &NativeSubsystemName)
FString GetNativePlatformNameString () const
FName GetNativePlatformName () const
FString GetNativeAppId () const
void ResetLocalUserNumCached ()
void SetLocalUserNumCached (int32 InLocalUserNum)
int32 GetLocalUserNumCached ()
AccelByte::FApiClientPtr GetApiClient (const FUniqueNetId &UserId)
AccelByte::FApiClientPtr GetApiClient (int32 LocalUserNum)
FAccelByteInstanceWPtr GetAccelByteInstance () const
FString GetLanguage () const
void SetLanguage (const FString &InLanguage)
FOnLocalUserNumCachedDelegate & OnLocalUserNumCached ()
EAccelBytePlatformType GetDisplayNameSource () const
 Get the configured source for display names.
bool SetDisplayNameSource (const FString &InDisplayNameSource)
 Set the currently configured source for user display names.
TOptional< bool > IsDedicatedServer (int32 LocalUserNum) const
 Retrieve the flag if the instance is running as dedicated server.
EAccelByteState GetRunningState (int32 LocalUserNum) const
 Retrieve the state of the runing instance.
void SetRunningState (int32 LocalUserNum, EAccelByteState NewState)
 Set the state of the running instance.
 FOnlineSubsystemAccelByte (FName InInstanceName)
FOnlineAsyncEpicTaskAccelByteCreateAndDispatchEpic (int32 LocalUserNum, const AccelByte::FVoidHandler &InDelegate)
template<typename TOnlineAsyncTask, typename... TArguments>
FORCEINLINE void CreateAndDispatchAsyncTask (FOnlineAsyncTaskInfo TaskInfo, TArguments &&... Arguments)
template<typename TOnlineAsyncTask, typename... TArguments>
FORCEINLINE void CreateAndDispatchAsyncTaskParallel (TArguments &&... Arguments)
template<typename TOnlineAsyncTask, typename... TArguments>
FORCEINLINE void CreateAndDispatchAsyncTaskSerial (TArguments &&... Arguments)
template<typename TOnlineAsyncEvent, typename... TArguments>
FORCEINLINE void CreateAndDispatchAsyncEvent (TArguments &&... Arguments)
FCriticalSection * GetEpicTaskLock ()
FCriticalSection * GetUpcomingParentTaskLock ()
bool IsUpcomingEpicAlreadySet () const
void SetUpcomingEpic (FOnlineAsyncEpicTaskAccelByte *Epic)
void SetUpcomingParentTask (FOnlineAsyncTaskAccelByte *Parent)
void ResetEpicHasBeenSet ()
void ResetParentTaskHasBeenSet ()
void AddTaskToOutQueue (FOnlineAsyncTaskAccelByte *Task)
void EnqueueTaskToEpic (FOnlineAsyncEpicTaskAccelByte *EpicPtr, FOnlineAsyncTaskAccelByte *TaskPtr, ETypeOfOnlineAsyncTask TaskType)
void EnqueueTaskToEpic (FOnlineAsyncTaskAccelByte *TaskPtr, ETypeOfOnlineAsyncTask TaskType)
void EnqueueTaskForInitialize (FOnlineAsyncTaskAccelByte *TaskPtr)
bool GetAccelBytePlatformTypeFromAuthType (const FString &InAuthType, EAccelBytePlatformType &Result) const
FString GetAccelBytePlatformStringFromAuthType (const FString &InAuthType) const
FString GetNativeSubsystemNameFromAccelBytePlatformString (const FString &InAccelBytePlatform) const
FString GetNativePlatformTypeAsString () const
FString GetSimplifiedNativePlatformName () const
FString GetSimplifiedNativePlatformName (const FString &PlatformName) const
void SetNativePlatformTokenRefreshScheduler (int32 LocalUserNum)
bool IsAutoConnectLobby () const
bool IsAutoConnectChat () const
bool IsLocalUserNumCached () const
FName GetSecondaryPlatformSubsystemName () const
void SetNativePlatformSubsystemNameOverride (FName InOverrideName)
void SetSecondaryPlatformSubsystemNameOverride (FName InOverrideName)
IOnlineSubsystem * GetNativePlatformSubsystem () const
IOnlineSubsystem * GetSecondaryPlatformSubsystem () const
TOptional< AccelByte::IWebsocketConfigurableReconnectStrategy * > TryConfigureWebsocketConnection (int32 LocalUserNum, AccelByte::EConfigurableWebsocketServiceType Type)

Public Attributes

PACKAGE_SCOPE : FOnlineSubsystemAccelByte() = delete
PACKAGE_SCOPE : void CreateAndDispatchAsyncTaskImplementation(FOnlineAsyncTaskInfo TaskInfo
PACKAGE_SCOPE FOnlineAsyncTask * CreatedTask

Constructor & Destructor Documentation

◆ FOnlineSubsystemAccelByte()

FOnlineSubsystemAccelByte::FOnlineSubsystemAccelByte ( FName InInstanceName)
inlineexplicit

Construct an instance of the AccelByte subsystem through the factory. Interfaces are initialized to nullptr, as they are set up in the FOnlineSubsystemAccelByte::Init method.

Member Function Documentation

◆ AddTaskToOutQueue()

void FOnlineSubsystemAccelByte::AddTaskToOutQueue ( FOnlineAsyncTaskAccelByte * Task)

Used by Epic to remove the task from Epic's container for completion (OutQueue) by the subsystem's AsyncTaskManager.

◆ CreateAndDispatchAsyncEvent()

template<typename TOnlineAsyncEvent, typename... TArguments>
FORCEINLINE void FOnlineSubsystemAccelByte::CreateAndDispatchAsyncEvent ( TArguments &&... Arguments)
inline

Create and queue an async event to be processed in the OutQueue

◆ CreateAndDispatchAsyncTask()

template<typename TOnlineAsyncTask, typename... TArguments>
FORCEINLINE void FOnlineSubsystemAccelByte::CreateAndDispatchAsyncTask ( FOnlineAsyncTaskInfo TaskInfo,
TArguments &&... Arguments )
inline

Create and queue an async task to the tasks queue

◆ CreateAndDispatchAsyncTaskParallel()

template<typename TOnlineAsyncTask, typename... TArguments>
FORCEINLINE void FOnlineSubsystemAccelByte::CreateAndDispatchAsyncTaskParallel ( TArguments &&... Arguments)
inline

Create and queue an async task to the parallel tasks queue

◆ CreateAndDispatchAsyncTaskSerial()

template<typename TOnlineAsyncTask, typename... TArguments>
FORCEINLINE void FOnlineSubsystemAccelByte::CreateAndDispatchAsyncTaskSerial ( TArguments &&... Arguments)
inline

Create and queue an async task to the in queue

◆ CreateAndDispatchEpic()

FOnlineAsyncEpicTaskAccelByte * FOnlineSubsystemAccelByte::CreateAndDispatchEpic ( int32 LocalUserNum,
const AccelByte::FVoidHandler & InDelegate )

Create and enqueue an Epic to the task manager's ParallelTasks queue

◆ EnqueueTaskForInitialize()

void FOnlineSubsystemAccelByte::EnqueueTaskForInitialize ( FOnlineAsyncTaskAccelByte * TaskPtr)

Need to be passed to AsyncTaskManager that has ability to AsyncTask->Initialize() from main thread

◆ EnqueueTaskToEpic()

void FOnlineSubsystemAccelByte::EnqueueTaskToEpic ( FOnlineAsyncEpicTaskAccelByte * EpicPtr,
FOnlineAsyncTaskAccelByte * TaskPtr,
ETypeOfOnlineAsyncTask TaskType )

Used by subsystem to Enqueue a sub-task/child task into the currently assigned Epic

◆ GetAccelByteInstance()

FAccelByteInstanceWPtr FOnlineSubsystemAccelByte::GetAccelByteInstance ( ) const

Retrieves the weak pointer to the AccelByte instance associated with the user.

◆ GetAccelBytePlatformStringFromAuthType()

FString FOnlineSubsystemAccelByte::GetAccelBytePlatformStringFromAuthType ( const FString & InAuthType) const

Attempt to get the corresponding AccelByte backend platform name from an OSS auth type string

Parameters
InAuthTypeFName corresponding to the type of the UniqueId that you want to get a platform type for
Returns
String matching auth type, or blank if none corresponds

◆ GetAccelBytePlatformTypeFromAuthType()

bool FOnlineSubsystemAccelByte::GetAccelBytePlatformTypeFromAuthType ( const FString & InAuthType,
EAccelBytePlatformType & Result ) const

Attempt to get the corresponding EAccelBytePlatformType enum value from an OSS auth type string

Parameters
InAuthTypeFName corresponding to the type of the UniqueId that you want to get a platform type for
ResultEnum value that corresponds to the string passed in, if you want to check validity of this enum, check the return boolean value
Returns
a boolean that is true if a match is found, and false otherwise

◆ GetApiClient() [1/2]

AccelByte::FApiClientPtr FOnlineSubsystemAccelByte::GetApiClient ( const FUniqueNetId & UserId)

Get the FApiClient that is used for a particular user by their net ID.

Used to make raw SDK calls for user if needed.

◆ GetApiClient() [2/2]

AccelByte::FApiClientPtr FOnlineSubsystemAccelByte::GetApiClient ( int32 LocalUserNum)

Get the FApiClient that is used for a particular user by their net ID.

Used to make raw SDK calls for user if needed.

◆ GetEpicTaskLock()

FCriticalSection * FOnlineSubsystemAccelByte::GetEpicTaskLock ( )
inline

Obtain the reference to Lock and set the upcoming Epic. To prevent racing condition.

◆ GetNativeAppId()

FString FOnlineSubsystemAccelByte::GetNativeAppId ( ) const

Get the app ID associated with this application from the native subsystem, or empty if no native subsystem is found.

◆ GetNativePlatformName()

FName FOnlineSubsystemAccelByte::GetNativePlatformName ( ) const

Get the associated native platform subsystem name as an FName

◆ GetNativePlatformNameString()

FString FOnlineSubsystemAccelByte::GetNativePlatformNameString ( ) const

Get the associated native platform subsystem name as a string, used for same platform checks

◆ GetNativePlatformTypeAsString()

FString FOnlineSubsystemAccelByte::GetNativePlatformTypeAsString ( ) const

Gets the current native platform type as a string

◆ GetNativeSubsystemNameFromAccelBytePlatformString()

FString FOnlineSubsystemAccelByte::GetNativeSubsystemNameFromAccelBytePlatformString ( const FString & InAccelBytePlatform) const

Convert an AccelByte platform type string to a string that represents the native subsystem name that it is associated with.

◆ GetRunningState()

EAccelByteState FOnlineSubsystemAccelByte::GetRunningState ( int32 LocalUserNum) const

Retrieve the state of the runing instance.

Returns
EAccelByteState

◆ GetSimplifiedNativePlatformName() [1/2]

FString FOnlineSubsystemAccelByte::GetSimplifiedNativePlatformName ( ) const

Gets a simplified string for the native platform subsystem that is active. Ex. if we are on GDK, then "xbox" will be returned.

◆ GetSimplifiedNativePlatformName() [2/2]

FString FOnlineSubsystemAccelByte::GetSimplifiedNativePlatformName ( const FString & PlatformName) const

Gets a simplified string from the platform name passed in. Ex. if we are on GDK, then "xbox" will be returned.

◆ GetUpcomingParentTaskLock()

FCriticalSection * FOnlineSubsystemAccelByte::GetUpcomingParentTaskLock ( )
inline

Obtain the reference to Lock and set the upcoming Parent Task. To prevent racing condition.

◆ GetUserCache()

FOnlineUserCacheAccelBytePtr FOnlineSubsystemAccelByte::GetUserCache ( ) const

Retrieves the user cache instance for this subsystem

◆ IsDedicatedServer()

TOptional< bool > FOnlineSubsystemAccelByte::IsDedicatedServer ( int32 LocalUserNum) const

Retrieve the flag if the instance is running as dedicated server.

Returns
boolean that is true if the instance is running or logged in as dedicated server

◆ IsNativeSubsystemSupported()

bool FOnlineSubsystemAccelByte::IsNativeSubsystemSupported ( const FName & NativeSubsystemName)

Method to check whether we support pass through from a native OSS to our OSS.

◆ IsUpcomingEpicAlreadySet()

bool FOnlineSubsystemAccelByte::IsUpcomingEpicAlreadySet ( ) const

To check the whether an Epic already set or not

◆ ResetEpicHasBeenSet()

void FOnlineSubsystemAccelByte::ResetEpicHasBeenSet ( )

Unregister Epic that has been registered to the subsystem.

◆ ResetParentTaskHasBeenSet()

void FOnlineSubsystemAccelByte::ResetParentTaskHasBeenSet ( )

Unregister Async Task/parent task that has been registered to the subsystem.

◆ SetDisplayNameSource()

bool FOnlineSubsystemAccelByte::SetDisplayNameSource ( const FString & InDisplayNameSource)

Set the currently configured source for user display names.

Valid values to set are:

  • Default: Use the display name set on the logged in AB account
  • Native: Use the display name that corresponds with the NativePlatformService configured
  • A value that corresponds with the EAccelBytePlatformType enum to explicitly retrieve a platform's display name
Returns
boolean that is true if the source was updated, false otherwise

◆ SetNativePlatformTokenRefreshScheduler()

void FOnlineSubsystemAccelByte::SetNativePlatformTokenRefreshScheduler ( int32 LocalUserNum)

To override the NativePlatformTokenRefreshScheduler conveniently if want to avoid the DefaultEngine.ini configuration. Default behavior is already enabled.

◆ SetRunningState()

void FOnlineSubsystemAccelByte::SetRunningState ( int32 LocalUserNum,
EAccelByteState NewState )

Set the state of the running instance.

Returns
EAccelByteState

◆ SetUpcomingEpic()

void FOnlineSubsystemAccelByte::SetUpcomingEpic ( FOnlineAsyncEpicTaskAccelByte * Epic)

Register an Epic to the subsystem. Therefore, every upcoming task created will be considered as sub-task of this Epic. It can be set by another async task using an existing Epic, or create a new Epic.

◆ SetUpcomingParentTask()

void FOnlineSubsystemAccelByte::SetUpcomingParentTask ( FOnlineAsyncTaskAccelByte * Parent)

Register an AsyncTask to the subsystem as a parent task. Therefore, every upcoming task created will be considered as child of this parent task. It willl set by another async task when it creates a child task through execute critical section.