5#include "CoreMinimal.h"
7#include "GameFramework/SaveGame.h"
8#include "Runtime/Launch/Resources/Version.h"
9#include "LootLockerStateData.generated.h"
16 UPROPERTY(VisibleAnywhere, Category =
"LootLocker")
17 TArray<FString> SavedPlayerStateUlids;
18 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
19 FString DefaultPlayer = "";
27 UPROPERTY(VisibleAnywhere, Category =
"LootLocker")
28 TArray<FString> SavedPlayerStateUlids;
29 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
30 FString DefaultPlayer = "";
38 UPROPERTY(VisibleAnywhere, Category =
"LootLocker")
40 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
41 FString RefreshToken = "";
42 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
43 FString PlayerIdentifier = "";
44 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
45 FString PlayerUlid = "";
46 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
47 FString PlayerPublicUid = "";
48 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
49 FString PlayerName = "";
50 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
51 FString WhiteLabelEmail = "";
52 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
53 FString WhiteLabelToken = "";
54 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
55 FLootLockerPlatformRepresentation CurrentPlatform;
56 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
57 FString LastSignIn = "";
58 UPROPERTY(VisibleAnywhere, Category = "LootLocker")
59 FString PlayerCreatedAt = "";
63 return Create(PlayerData.Token, PlayerData.RefreshToken, PlayerData.PlayerIdentifier, PlayerData.PlayerUlid, PlayerData.PlayerPublicUid, PlayerData.PlayerName, PlayerData.WhiteLabelEmail, PlayerData.WhiteLabelToken, PlayerData.CurrentPlatform, PlayerData.LastSignIn, PlayerData.PlayerCreatedAt);
66 static ULootLockerPlayerDataSaveGame*
Create(
const FString& token =
"",
const FString& refreshToken =
"",
const FString& playerIdentifier =
"",
const FString& playerUlid =
"",
const FString& playerPublicUid =
"",
const FString& playerName =
"",
const FString& whiteLabelEmail =
"",
const FString& whiteLabelToken =
"",
const FLootLockerPlatformRepresentation& currentPlatform = FLootLockerPlatformRepresentation(),
const FString& lastSignIn =
"",
const FString& playerCreatedAt =
"")
69 newObj->
Token = token;
91 static bool isMetadataLoaded;
92 static TMap<FString, TSharedPtr<FLootLockerPlayerData>> ActivePlayerData;
94#if ENGINE_MAJOR_VERSION < 5
95 static const FString BaseSaveSlot;
96 static const FString MetaDataSaveSlot;
97 static const FString PlayerDataSaveSlot;
98 static constexpr int SaveIndex = 0;
100 inline static const FString BaseSaveSlot =
"LootLocker";
101 inline static const FString MetaDataSaveSlot = BaseSaveSlot+
"_md";
102 inline static const FString PlayerDataSaveSlot = BaseSaveSlot+
"_pd";
103 inline static constexpr int SaveIndex = 0;
106 static TSharedPtr<FLootLockerPlayerData> LoadPlayerData(
const FString& PlayerUlid,
bool makeActive =
true);
Definition LootLockerStateData.h:35
static ULootLockerPlayerDataSaveGame * Create(const FString &token="", const FString &refreshToken="", const FString &playerIdentifier="", const FString &playerUlid="", const FString &playerPublicUid="", const FString &playerName="", const FString &whiteLabelEmail="", const FString &whiteLabelToken="", const FLootLockerPlatformRepresentation ¤tPlatform=FLootLockerPlatformRepresentation(), const FString &lastSignIn="", const FString &playerCreatedAt="")
Definition LootLockerStateData.h:66
FString PlayerPublicUid
Definition LootLockerStateData.h:47
FString PlayerIdentifier
Definition LootLockerStateData.h:43
FString WhiteLabelToken
Definition LootLockerStateData.h:53
FString PlayerUlid
Definition LootLockerStateData.h:45
FLootLockerPlatformRepresentation CurrentPlatform
Definition LootLockerStateData.h:55
FString RefreshToken
Definition LootLockerStateData.h:41
FString PlayerCreatedAt
Definition LootLockerStateData.h:59
FString WhiteLabelEmail
Definition LootLockerStateData.h:51
FString PlayerName
Definition LootLockerStateData.h:49
FString Token
Definition LootLockerStateData.h:39
FString LastSignIn
Definition LootLockerStateData.h:57
Definition LootLockerStateData.h:86
static void SetPlayerUlidToInactive(const FString &PlayerUlid)
static bool ClearSavedStateForPlayer(const FString &PlayerUlid)
static TArray< FString > GetCachedPlayerUlids()
static void ClearAllSavedStates()
static const FLootLockerPlayerData & GetAndActivateSavedStateOrDefaultOrEmptyForPlayer(const FString &PlayerUlid="")
static void SetAllPlayersToInactiveExceptForPlayer(const FString &PlayerUlid)
static bool MakePlayerActive(const FString &PlayerUlid)
static bool SetDefaultPlayerUlid(const FString &PlayerUlid)
static bool SaveStateExistsForPlayer(const FString &PlayerUlid="")
static FString GetDefaultPlayerUlid()
static const TSharedPtr< FLootLockerPlayerData > GetStateForPlayerOrDefaultFromCache(const FString &PlayerUlid="")
static void SavePlayerData(const FLootLockerPlayerData &PlayerData)
static const FLootLockerPlayerData & GetSavedStateForFirstPlayer()
Definition LootLockerStateData.h:119
static FString GenerateNewGuestIdentifier()
static void ClearAllSavedStatesExceptForPlayer(const FString &PlayerUlid)
static void SetAllPlayersToInactive()
static TArray< FString > GetActivePlayerUlids()
static const TSharedPtr< FLootLockerPlayerData > GetStateForPlayerOrDefaultIfActive(const FString &PlayerUlid="")
Definition LootLockerPlayerData.h:12