LEAP Documentation 40220
Documentation for the LEAP project
ProjectXGameInstance.h File Reference
#include "CoreMinimal.h"
#include "CosmeticAssetBase.h"
#include "OnlineSessionInterface.h"
#include "GameInstanceLoadingScreen.h"
#include "ProjectXGameState.h"
#include "OnlineIdentityInterface.h"
#include "OnlineSessionSettings.h"
#include "Engine/DataTable.h"
#include "Stats/NakamaManager.h"
#include "System/Data/VoiceData/AnnouncerSoundDataAsset.h"
#include "Schemas/ModioResponse.h"
#include "ThirdParty/Steamworks/Steamv146/sdk/public/steam/steam_api.h"
#include "ProjectXGameInstance.generated.h"

Go to the source code of this file.

Classes

struct  FPermissionCheckQueue
 
class  FPXPendingInvite
 
struct  FMatureWordsRow
 
struct  FLanguageDefinition
 
struct  FServerInfo
 
struct  FServerScore
 
struct  FNakamaUser
 
struct  FUsers
 
struct  FRewardShowcase
 
class  UProjectXGameInstance
 

Namespaces

namespace  ProjectXGameInstanceState
 

Enumerations

enum class  EOnlineMode : uint8 { Offline , LAN , Online }
 
enum class  ESessionState : uint8 {
  NONE , SEARCHING , JOINING , INSESSION ,
  DESTROYING
}
 
enum class  EServerPlatform : uint8 { PC , PS , XBOX }
 
enum class  EProjectXPrivileges : uint8 {
  CanPlay , CanPlayOnline , CanCommunicateOnline , CanUseUserGeneratedContent ,
  CanUserCrossPlay
}
 
enum class  EProjectXPrivilegeResult : uint8 {
  NoFailures = 0 , RequiredPatchAvailable = 1 , RequiredSystemUpdate = 2 , AgeRestrictionFailure = 3 ,
  AccountTypeFailure = 4 , UserNotFound = 5 , UserNotLoggedIn = 6 , ChatRestriction = 7 ,
  UGCRestriction = 8 , GenericFailure = 9 , OnlinePlayRestricted = 10 , NetworkConnectionUnavailable = 11
}
 
enum class  EAvatarSize : uint8 { Small = 0 , Medium = 1 , Large = 2 }
 
enum class  ESortParameter : uint8 {
  NONE = 0 , Official = 1 , MapName = 2 , Mode = 3 ,
  PlayerCount = 4 , Region = 5 , Ping = 6 , AntiCheat = 7 ,
  MODS = 8 , Password = 9 , ServerName = 10 , WhiteList = 11 ,
  Difficulty = 12
}
 
enum class  EAchievementData : uint8 {
  NONE = 0 , PRIVATE_ACHIEVEMENT_1 = 1 , CORPORAL_ACHIEVEMENT_2 = 2 , SERGEANT_ACHIEVEMENT_3 = 3 ,
  LIEUTENANT_ACHIEVEMENT_4 = 4 , MAJOR_ACHIEVEMENT_5 = 5 , COLONEL_ACHIEVEMENT_6 = 6 , GENERAL_ACHIEVEMENT_7 = 7 ,
  GLUTTON_FOR_PUNISHMENT_ACHIEVEMENT_8 = 8 , SNOWBIRD_ACHIEVEMENT_9 = 9 , TROPICAN_ACHIEVEMENT_10 = 10 , HAZE_FOR_DAYS_ACHIEVEMENT_11 = 11 ,
  CITIZEN_OF_CHANGSHA_ACHIEVEMENT_12 = 12 , ARCHAEOLOGIST_ACHIEVEMENT_13 = 13 , PYROMANCER_ACHIEVEMENT_14 = 14 , VALLEY_GIRL_ACHIEVEMENT_15 = 15 ,
  KING_OF_THE_HILL_ACHIEVEMENT_16 = 16 , ACE_OF_BASES_ACHIEVEMENT_17 = 17 , CAPTURE_THE_VICTORY_ACHIEVEMENT_18 = 18 , VERY_IMPORTANT_ACHIEVEMENT_19 = 19 ,
  NO_I_IN_TEAM_ACHIEVEMENT_20 = 20 , ALL_THAT_GLITTERS_ACHIEVEMENT_21 = 21 , BACKUP_ACHIEVEMENT_22 = 22 , CENTURION_ACHIEVEMENT_23 = 23 ,
  HOT_POTATO_ACHIEVEMENT_24 = 24 , GRENADIER_ACHIEVEMENT_25 = 25 , DESTROYER_ACHIEVEMENT_26 = 26 , BRINGER_OF_WRATH_ACHIEVEMENT_27 = 27 ,
  MEDIC_ACHIEVEMENT_28 = 28 , SURGEON_ACHIEVEMENT_29 = 29 , ELIMINATOR_ACHIEVEMENT_30 = 30 , ANNIHILATOR_ACHIEVEMENT_31 = 31 ,
  FLYSWATTER_ACHIEVEMENT_32 = 32 , AVERAGE_JOES_ACHIEVEMENT_33 = 33 , VERSUS_GOLIATH_ACHIEVEMENT_34 = 34 , MORE_LIKE_TECH_STOPS_ACHIEVEMENT_35 = 35 ,
  MASTER_OF_NONE_ACHIEVEMENT_36 = 36 , MASTER_OF_ALL_ACHIEVEMENT_37 = 37 , CRACKIN_SKULLS_ACHIEVEMENT_38 = 38 , DEADEYE_ACHIEVEMENT_39 = 39 ,
  BOOM_ACHIEVEMENT_40 = 40 , DINE_AND_DASH_ACHIEVEMENT_41 = 41 , CANT_STOP_ME_NOW_ACHIEVEMENT_42 = 42 , FLOAT_LIKE_A_BUTTERFLY_ACHIEVEMENT_43 = 43
}
 
enum class  ERewardType : uint8 { ReferAFriend = 0 , FoundersDLC = 1 , DailyLogin = 2 , TwitchRewards = 3 }
 
enum class  EJoinSessionResponse : uint8 {
  Success , SessionIsFull , SessionDoesNotExist , CouldNotRetrieveAddress ,
  AlreadyInSession , UnknownError
}
 

Functions

 DECLARE_DYNAMIC_DELEGATE_TwoParams (FPrivilegeSignature, bool, bAllowed, EProjectXPrivilegeResult, Result)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams (FOnWorldOriginChangedSignature, class UWorld *, InWorld, FIntVector, PreviousOriginLocation, FIntVector, NewOriginLocation)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnSessionSearchCompleteSignature, const TArray< FServerInfo > &, ServerInfos)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnSessionJoinCompleteSignature, EJoinSessionResponse, JoinResult)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnSessionMatchmakingSignature, bool, bIsMatchMaking)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnSessionDestroyCompleteSignature, bool, bComplete)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnSessionEventSignature, ESessionState, State)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FSettingChanged, const float, Delta)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE (FOnRestartPendingSignature)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE (FOnFounderDLCUnlockSignature)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE (FOnShowcaseItems)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE (FOnTwitchIntegrationVerified)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams (FOnMenuStateChanged, UAdvancedUserWidget *, Widget, bool, bToggle)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnUsersLoadedSignature, const FUsers &, FoundUsers)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams (FOnNakamaUserIDFoundSignature, const FString &, FoundID, const FString &, ForID)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams (FOnDailyRewardsSignature, int, Currency, int, Experience)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE (FOnNakamaManagerInitializedSignature)
 
 DECLARE_DYNAMIC_DELEGATE_TwoParams (FOnNakamaUserIDFound, const FString &, NakamaID, const FString &, SteamID)
 
 DECLARE_DYNAMIC_DELEGATE_OneParam (FOnNakamaDailyLoginRewardsFound, bool, bLoginBonusAvailable)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FOnUserInfoRequested, const FString &, ID)
 
 DECLARE_DYNAMIC_DELEGATE_TwoParams (FUserRequestCallbackSignature, const FString &, ID, const FString &, NickName)
 
 DECLARE_DELEGATE_TwoParams (FOnNakamaUserIDsFoundSignature, const TArray< FString > &, const TSharedPtr< FJsonObject > &)
 

Variables

const FName ProjectXGameInstanceState::None = FName(TEXT("None"))
 
const FName ProjectXGameInstanceState::WelcomeScreen = FName(TEXT("WelcomeScreen"))
 
const FName ProjectXGameInstanceState::MainMenu = FName(TEXT("MainMenu"))
 
const FName ProjectXGameInstanceState::Playing = FName(TEXT("Playing"))
 
const FName ProjectXGameInstanceState::PlayingSolo = FName(TEXT("PlayingSolo"))
 

Enumeration Type Documentation

◆ EAchievementData

enum class EAchievementData : uint8
strong
Enumerator
NONE 
PRIVATE_ACHIEVEMENT_1 
CORPORAL_ACHIEVEMENT_2 
SERGEANT_ACHIEVEMENT_3 
LIEUTENANT_ACHIEVEMENT_4 
MAJOR_ACHIEVEMENT_5 
COLONEL_ACHIEVEMENT_6 
GENERAL_ACHIEVEMENT_7 
GLUTTON_FOR_PUNISHMENT_ACHIEVEMENT_8 
SNOWBIRD_ACHIEVEMENT_9 
TROPICAN_ACHIEVEMENT_10 
HAZE_FOR_DAYS_ACHIEVEMENT_11 
CITIZEN_OF_CHANGSHA_ACHIEVEMENT_12 
ARCHAEOLOGIST_ACHIEVEMENT_13 
PYROMANCER_ACHIEVEMENT_14 
VALLEY_GIRL_ACHIEVEMENT_15 
KING_OF_THE_HILL_ACHIEVEMENT_16 
ACE_OF_BASES_ACHIEVEMENT_17 
CAPTURE_THE_VICTORY_ACHIEVEMENT_18 
VERY_IMPORTANT_ACHIEVEMENT_19 
NO_I_IN_TEAM_ACHIEVEMENT_20 
ALL_THAT_GLITTERS_ACHIEVEMENT_21 
BACKUP_ACHIEVEMENT_22 
CENTURION_ACHIEVEMENT_23 
HOT_POTATO_ACHIEVEMENT_24 
GRENADIER_ACHIEVEMENT_25 
DESTROYER_ACHIEVEMENT_26 
BRINGER_OF_WRATH_ACHIEVEMENT_27 
MEDIC_ACHIEVEMENT_28 
SURGEON_ACHIEVEMENT_29 
ELIMINATOR_ACHIEVEMENT_30 
ANNIHILATOR_ACHIEVEMENT_31 
FLYSWATTER_ACHIEVEMENT_32 
AVERAGE_JOES_ACHIEVEMENT_33 
VERSUS_GOLIATH_ACHIEVEMENT_34 
MORE_LIKE_TECH_STOPS_ACHIEVEMENT_35 
MASTER_OF_NONE_ACHIEVEMENT_36 
MASTER_OF_ALL_ACHIEVEMENT_37 
CRACKIN_SKULLS_ACHIEVEMENT_38 
DEADEYE_ACHIEVEMENT_39 
BOOM_ACHIEVEMENT_40 
DINE_AND_DASH_ACHIEVEMENT_41 
CANT_STOP_ME_NOW_ACHIEVEMENT_42 
FLOAT_LIKE_A_BUTTERFLY_ACHIEVEMENT_43 

◆ EAvatarSize

enum class EAvatarSize : uint8
strong
Enumerator
Small 
Medium 
Large 

◆ EJoinSessionResponse

enum class EJoinSessionResponse : uint8
strong
Enumerator
Success 

The join worked as expected

SessionIsFull 

There are no open slots to join

SessionDoesNotExist 

The session couldn't be found on the service

CouldNotRetrieveAddress 

There was an error getting the session server's address

AlreadyInSession 

The user attempting to join is already a member of the session

UnknownError 

An error not covered above occurred

◆ EOnlineMode

enum class EOnlineMode : uint8
strong
Enumerator
Offline 
LAN 
Online 

◆ EProjectXPrivilegeResult

enum class EProjectXPrivilegeResult : uint8
strong
Enumerator
NoFailures 

The user has the requested privilege

RequiredPatchAvailable 

Patch required before the user can use the privilege

RequiredSystemUpdate 

System update required before the user can use the privilege

AgeRestrictionFailure 

Parental control failure usually

AccountTypeFailure 

XboxLive Gold / PSPlus required but not available

UserNotFound 

Invalid user

UserNotLoggedIn 

User must be logged in

ChatRestriction 

User restricted from chat

UGCRestriction 

User restricted from User Generated Content

GenericFailure 

Platform failed for unknown reason and handles its own dialogs

OnlinePlayRestricted 

Online play is restricted

NetworkConnectionUnavailable 

Check failed because network is unavailable

◆ EProjectXPrivileges

enum class EProjectXPrivileges : uint8
strong
Enumerator
CanPlay 

Whether the user can play at all, online or offline - may be age restricted

CanPlayOnline 

Whether the user can play in online modes

CanCommunicateOnline 

Whether the user can use voice and text chat

CanUseUserGeneratedContent 

Whether the user can use content generated by other users

CanUserCrossPlay 

Whether the user can ever participate in cross-play due to age restrictions

◆ ERewardType

enum class ERewardType : uint8
strong
Enumerator
ReferAFriend 
FoundersDLC 
DailyLogin 
TwitchRewards 

◆ EServerPlatform

enum class EServerPlatform : uint8
strong
Enumerator
PC 
PS 
XBOX 

◆ ESessionState

enum class ESessionState : uint8
strong
Enumerator
NONE 
SEARCHING 
JOINING 
INSESSION 
DESTROYING 

◆ ESortParameter

enum class ESortParameter : uint8
strong
Enumerator
NONE 
Official 
MapName 
Mode 
PlayerCount 
Region 
Ping 
AntiCheat 
MODS 
Password 
ServerName 
WhiteList 
Difficulty 

Function Documentation

◆ DECLARE_DELEGATE_TwoParams()

DECLARE_DELEGATE_TwoParams ( FOnNakamaUserIDsFoundSignature  ,
const TArray< FString > &  ,
const TSharedPtr< FJsonObject > &   
)

◆ DECLARE_DYNAMIC_DELEGATE_OneParam()

DECLARE_DYNAMIC_DELEGATE_OneParam ( FOnNakamaDailyLoginRewardsFound  ,
bool  ,
bLoginBonusAvailable   
)

◆ DECLARE_DYNAMIC_DELEGATE_TwoParams() [1/3]

DECLARE_DYNAMIC_DELEGATE_TwoParams ( FOnNakamaUserIDFound  ,
const FString &  ,
NakamaID  ,
const FString &  ,
SteamID   
)

◆ DECLARE_DYNAMIC_DELEGATE_TwoParams() [2/3]

DECLARE_DYNAMIC_DELEGATE_TwoParams ( FPrivilegeSignature  ,
bool  ,
bAllowed  ,
EProjectXPrivilegeResult  ,
Result   
)

◆ DECLARE_DYNAMIC_DELEGATE_TwoParams() [3/3]

DECLARE_DYNAMIC_DELEGATE_TwoParams ( FUserRequestCallbackSignature  ,
const FString &  ,
ID  ,
const FString &  ,
NickName   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE() [1/5]

DECLARE_DYNAMIC_MULTICAST_DELEGATE ( FOnFounderDLCUnlockSignature  )

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE() [2/5]

DECLARE_DYNAMIC_MULTICAST_DELEGATE ( FOnNakamaManagerInitializedSignature  )

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE() [3/5]

DECLARE_DYNAMIC_MULTICAST_DELEGATE ( FOnRestartPendingSignature  )

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE() [4/5]

DECLARE_DYNAMIC_MULTICAST_DELEGATE ( FOnShowcaseItems  )

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE() [5/5]

DECLARE_DYNAMIC_MULTICAST_DELEGATE ( FOnTwitchIntegrationVerified  )

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [1/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnSessionDestroyCompleteSignature  ,
bool  ,
bComplete   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [2/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnSessionEventSignature  ,
ESessionState  ,
State   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [3/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnSessionJoinCompleteSignature  ,
EJoinSessionResponse  ,
JoinResult   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [4/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnSessionMatchmakingSignature  ,
bool  ,
bIsMatchMaking   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [5/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnSessionSearchCompleteSignature  ,
const TArray< FServerInfo > &  ,
ServerInfos   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [6/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnUserInfoRequested  ,
const FString &  ,
ID   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [7/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FOnUsersLoadedSignature  ,
const FUsers ,
FoundUsers   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [8/8]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FSettingChanged  ,
const float  ,
Delta   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams()

DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams ( FOnWorldOriginChangedSignature  ,
class UWorld *  ,
InWorld  ,
FIntVector  ,
PreviousOriginLocation  ,
FIntVector  ,
NewOriginLocation   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams() [1/3]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams ( FOnDailyRewardsSignature  ,
int  ,
Currency  ,
int  ,
Experience   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams() [2/3]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams ( FOnMenuStateChanged  ,
UAdvancedUserWidget ,
Widget  ,
bool  ,
bToggle   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams() [3/3]

DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams ( FOnNakamaUserIDFoundSignature  ,
const FString &  ,
FoundID  ,
const FString &  ,
ForID   
)