![]() |
LEAP Documentation 40220
Documentation for the LEAP project
|
#include <StatsTrackingManager.h>
Public Member Functions | |
int | GetStat (const FString &PlayerID, const EStatClassifier StatType, const EStatNames StatName, const FString &StatClassName="") |
int | GetStatDelta (const FString &PlayerID, const EStatClassifier StatType, const EStatNames StatName, const FString &StatClassName="") |
UStatTrackingSave * | GetStatInstance (const FString &PlayerID) |
void | SaveAllInstances () |
void | SaveInstance (const FString &PlayerID, bool bChallengesOnly=false) |
void | GetChallenges (const FString &PlayerID, FTimedChallenges &Challenges) |
UStatTrackingSave * | LoadStatInstance (const FString &PlayerID) |
const FLeaderBoardLocalEntry & | GetLocalLeaderboardEntry () |
void | MarkStatSaveForReload (const FString &PlayerID, bool bAuthorityOnly=false) |
void | LoadChallenges (const FString &PlayerID) |
void | RerollChallenge (const FString &ChallengeID) |
void | ClaimChallenge (const FString &ChallengeID) |
void | LoadLeaderBoardForStat (EStatNames Name, EStatClassifier Type, const FString &Class, int NumberOfEntries, int PageNumber, bool bFriendsOnly=false) |
const TMap< int32, FLeaderBoardEntry > & | GetLeaderboard () const |
bool | IsValidStatCheck (EStatClassifier Class, EStatNames Name) const |
bool | AreStatsSynced (const FString &PlayerID) |
bool | HasChallengeReroll () const |
void | OnNakamaConnected () |
const FString & | GetNakamaLocalPlayerID () |
void | OnPurchaseEvent (bool bPurchaseSucess, const FString &ItemID) |
void | BPUpdateStat (AProjectXPlayerState *PlayerState, EStatNames InStatName) |
bool | IsValidLeaderboardPage (int32 PageNumber, int32 Entries) const |
bool | IsAuthoritativeState (EStatNames StatName) |
void | LoadAllStats (const FString &PlayerID, bool bForceReload=false) |
void | LoadAuthoritativeStats (const FString &PlayerID, const TArray< FString > &StatNames, bool bForceReload=false) |
void | LoadRequestedPlayerStats (const FString &PlayerID, const TArray< FString > &StatNames, bool bForceReload) |
void | UpdateStat (struct FStatEvent const &StatEvent) |
void | ShotComplete (struct FStatEvent const &StatEvent, const uint16 ID) |
void | UpdateChallengeComplete (const FString &PlayerID, const FString &ChallengeID) |
void | UpdateChallengePredictiveProgressFromChallengeNumber (AProjectXPlayerState *const PlayerState, uint8 ChallengeID) |
void | Init (UProjectXGameInstance *GameInstance) |
void | InitStatType (UStatTrackingSave *Save, const TArray< FString > &ClassNames, EStatClassifier Class) |
void | RemoveStatInstance (const FString &PlayerID) |
void | LoadFriendsLeaderboardResponse (const TArray< TSharedPtr< FJsonValue > > &LeaderboardEntryList) |
void | LeaderboardLoadedResponse (const TArray< TSharedPtr< FJsonValue > > &LeaderboardEntryList) |
void | LoadLeaderBoard (const FString &StatKey, int NumberOfEntries, int PageNumber) |
void | LoadPersonalLeaderBoard (const FString &StatKey) |
void | LoadLeaderBoardForFriends (const FString &StatKey, int PageNumber=0) |
void | ApplyMatchBonus (AProjectXPlayerState *const PlayerState) |
void | CheckAchievementList (const FStatEvent AchievementStatEvent) |
void | OverrideAuthoritativeStat (const FString &StatKey, int Value) |
void | ForceLevelToTarget (const FString &StatKey, int Value) |
Static Public Member Functions | |
static UStatsTrackingManager * | GetStatTrackingManager (const UObject *WorldContextObject) |
static FString | BuildStatKey (EStatClassifier StatClass, const FString &ClassID, EStatNames StatName) |
static void | ParseStatKey (const FString &Key, EStatClassifier &StatClass, FString &ClassID, EStatNames &StatName) |
Public Attributes | |
FChallengesSignature | OnChallengesLoadedEvent |
FChallengeClaimedSignature | OnChallengeClaimedEvent |
FChallengeProgressSignature | OnChallengeProgressUpdated |
FLeaderBoardLoadedSignature | OnLeaderBoardLoaded |
FLeaderBoardLoadedSignature | OnLocalLeaderboardUpdatedEvent |
FStatsSaveLoadedSignature | OnStatsLoaded |
FStatsFinishedLoadingSignature | OnStatsFinishedLoading |
FStatsSaveLoadedSignature | OnAuthoritativeStastLoaded |
FLevelUpEventSignature | OnPlayerLeveledUp |
FStatsTrackingManagerInitializedSignature | OnStatsTrackingManagerInitialized |
Protected Member Functions | |
void | UpdateChallengeProgressFromStat (TWeakObjectPtr< AProjectXPlayerState > PlayerState, const EStatClassifier ClassType, const EStatNames StatName, const FString &ClassName="") |
void | InitializeAllStats (UStatTrackingSave *StatSaveObject) |
void | InitializeProgressionStats (UStatTrackingSave *StatSaveObject) |
void | LoadChallengesResponse (TSharedPtr< FJsonObject > FoundChallengesJson, const FString &PlayerID) |
void | CheckForLevelUpAchievement (const int32 Level, AProjectXPlayerState *PlayerState) |
void | SaveStatIntance (UStatTrackingSave *const Save) |
void | SaveChallenges (UStatTrackingSave *const Save) |
void | SaveExperience (UStatTrackingSave *const Save) |
void | ConsumeMatchEndBonus (UStatTrackingSave *const Save) |
void | OnExperienceUpdatedResponse (UStatTrackingSave *const Save, const TArray< TSharedPtr< FJsonValue > > &LevelingResults) |
void | ResetCurrentLeaderboard (const FString &StatKey, bool bFriends) |
TSharedPtr< FJsonObject > | MakeExperienceUpdate (EStatClassifier Classifier, const FString &ClassID, const FString &PlayerID) |
FString | GetGameTypeStringFromEnum (EGameType GameTypeEnum) |
int32 | GetChallengNumberFromID (const FString &ChallengeID) |
const FString & | GetChallengeIDFromNumber (int32 Number) |
int32 | GetPlayerLevelFromPlayerID (const FString &PlayerID) |
Protected Attributes | |
TMap< FString, UStatTrackingSave * > | StatSaves = TMap<FString, UStatTrackingSave*>() |
FTimerHandle | RetryConnectionHandle |
std::string | LeaderboardCursor |
FString | CurrentLeaderboardStatKey = "" |
int32 | HighestLoadedLeaderboardPage = 0 |
TMap< EStatClassifier, TSet< EStatNames > > | ValidClassStats |
TMap< int32, FLeaderBoardEntry > | CurrentLeaderboard |
FLeaderBoardLocalEntry | LocalLeaderboardEntry = FLeaderBoardLocalEntry() |
TArray< TSharedPtr< FJsonValue > > | LeaderboardEntries |
bool | bFriendsOnlyLoaded = false |
FString | LocalPlayerID = "" |
FString | ChallengeComplete = "VO_ChallengeCompleted" |
TMap< FString, float > | AnalyticStatsToSend |
bool | bHasChallengeReroll = false |
FString | EmptyChallengeID = "" |
TArray< FString > | ChallengeIDs |
TSet< FString > | AuthoritativeStats = TSet<FString>() |
TSet< FString > | LeaderboardStats = TSet<FString>() |
void UStatsTrackingManager::ApplyMatchBonus | ( | AProjectXPlayerState *const | PlayerState | ) |
bool UStatsTrackingManager::AreStatsSynced | ( | const FString & | PlayerID | ) |
void UStatsTrackingManager::BPUpdateStat | ( | AProjectXPlayerState * | PlayerState, |
EStatNames | InStatName | ||
) |
|
static |
void UStatsTrackingManager::CheckAchievementList | ( | const FStatEvent | AchievementStatEvent | ) |
|
protected |
void UStatsTrackingManager::ClaimChallenge | ( | const FString & | ChallengeID | ) |
|
protected |
void UStatsTrackingManager::ForceLevelToTarget | ( | const FString & | StatKey, |
int | Value | ||
) |
|
protected |
void UStatsTrackingManager::GetChallenges | ( | const FString & | PlayerID, |
FTimedChallenges & | Challenges | ||
) |
|
protected |
|
protected |
|
inline |
|
inline |
|
inline |
|
protected |
int32 UStatsTrackingManager::GetStat | ( | const FString & | PlayerID, |
const EStatClassifier | StatType, | ||
const EStatNames | StatName, | ||
const FString & | StatClassName = "" |
||
) |
int32 UStatsTrackingManager::GetStatDelta | ( | const FString & | PlayerID, |
const EStatClassifier | StatType, | ||
const EStatNames | StatName, | ||
const FString & | StatClassName = "" |
||
) |
UStatTrackingSave * UStatsTrackingManager::GetStatInstance | ( | const FString & | PlayerID | ) |
|
static |
|
inline |
void UStatsTrackingManager::Init | ( | UProjectXGameInstance * | GameInstance | ) |
|
protected |
|
protected |
void UStatsTrackingManager::InitStatType | ( | UStatTrackingSave * | Save, |
const TArray< FString > & | ClassNames, | ||
EStatClassifier | Class | ||
) |
bool UStatsTrackingManager::IsAuthoritativeState | ( | EStatNames | StatName | ) |
bool UStatsTrackingManager::IsValidLeaderboardPage | ( | int32 | PageNumber, |
int32 | Entries | ||
) | const |
bool UStatsTrackingManager::IsValidStatCheck | ( | EStatClassifier | Class, |
EStatNames | Name | ||
) | const |
void UStatsTrackingManager::LeaderboardLoadedResponse | ( | const TArray< TSharedPtr< FJsonValue > > & | LeaderboardEntryList | ) |
void UStatsTrackingManager::LoadAllStats | ( | const FString & | PlayerID, |
bool | bForceReload = false |
||
) |
void UStatsTrackingManager::LoadAuthoritativeStats | ( | const FString & | PlayerID, |
const TArray< FString > & | StatNames, | ||
bool | bForceReload = false |
||
) |
void UStatsTrackingManager::LoadChallenges | ( | const FString & | PlayerID | ) |
|
protected |
void UStatsTrackingManager::LoadFriendsLeaderboardResponse | ( | const TArray< TSharedPtr< FJsonValue > > & | LeaderboardEntryList | ) |
void UStatsTrackingManager::LoadLeaderBoard | ( | const FString & | StatKey, |
int | NumberOfEntries, | ||
int | PageNumber | ||
) |
void UStatsTrackingManager::LoadLeaderBoardForFriends | ( | const FString & | StatKey, |
int | PageNumber = 0 |
||
) |
void UStatsTrackingManager::LoadLeaderBoardForStat | ( | EStatNames | Name, |
EStatClassifier | Type, | ||
const FString & | Class, | ||
int | NumberOfEntries, | ||
int | PageNumber, | ||
bool | bFriendsOnly = false |
||
) |
void UStatsTrackingManager::LoadPersonalLeaderBoard | ( | const FString & | StatKey | ) |
void UStatsTrackingManager::LoadRequestedPlayerStats | ( | const FString & | PlayerID, |
const TArray< FString > & | StatNames, | ||
bool | bForceReload | ||
) |
UStatTrackingSave * UStatsTrackingManager::LoadStatInstance | ( | const FString & | PlayerID | ) |
|
protected |
void UStatsTrackingManager::MarkStatSaveForReload | ( | const FString & | PlayerID, |
bool | bAuthorityOnly = false |
||
) |
|
protected |
void UStatsTrackingManager::OnNakamaConnected | ( | ) |
void UStatsTrackingManager::OnPurchaseEvent | ( | bool | bPurchaseSucess, |
const FString & | ItemID | ||
) |
void UStatsTrackingManager::OverrideAuthoritativeStat | ( | const FString & | StatKey, |
int | Value | ||
) |
|
static |
void UStatsTrackingManager::RemoveStatInstance | ( | const FString & | PlayerID | ) |
void UStatsTrackingManager::RerollChallenge | ( | const FString & | ChallengeID | ) |
|
protected |
void UStatsTrackingManager::SaveAllInstances | ( | ) |
|
protected |
|
protected |
void UStatsTrackingManager::SaveInstance | ( | const FString & | PlayerID, |
bool | bChallengesOnly = false |
||
) |
|
protected |
void UStatsTrackingManager::ShotComplete | ( | struct FStatEvent const & | StatEvent, |
const uint16 | ID | ||
) |
void UStatsTrackingManager::UpdateChallengeComplete | ( | const FString & | PlayerID, |
const FString & | ChallengeID | ||
) |
void UStatsTrackingManager::UpdateChallengePredictiveProgressFromChallengeNumber | ( | AProjectXPlayerState *const | PlayerState, |
uint8 | ChallengeID | ||
) |
|
protected |
void UStatsTrackingManager::UpdateStat | ( | struct FStatEvent const & | StatEvent | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
FStatsSaveLoadedSignature UStatsTrackingManager::OnAuthoritativeStastLoaded |
FChallengeClaimedSignature UStatsTrackingManager::OnChallengeClaimedEvent |
FChallengeProgressSignature UStatsTrackingManager::OnChallengeProgressUpdated |
FChallengesSignature UStatsTrackingManager::OnChallengesLoadedEvent |
FLeaderBoardLoadedSignature UStatsTrackingManager::OnLeaderBoardLoaded |
FLeaderBoardLoadedSignature UStatsTrackingManager::OnLocalLeaderboardUpdatedEvent |
FLevelUpEventSignature UStatsTrackingManager::OnPlayerLeveledUp |
FStatsFinishedLoadingSignature UStatsTrackingManager::OnStatsFinishedLoading |
FStatsSaveLoadedSignature UStatsTrackingManager::OnStatsLoaded |
FStatsTrackingManagerInitializedSignature UStatsTrackingManager::OnStatsTrackingManagerInitialized |
|
protected |
|
protected |
|
protected |