LEAP Documentation 40220
Documentation for the LEAP project
UStatsTrackingManager Class Reference

#include <StatsTrackingManager.h>

Inheritance diagram for UStatsTrackingManager:

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="")
 
UStatTrackingSaveGetStatInstance (const FString &PlayerID)
 
void SaveAllInstances ()
 
void SaveInstance (const FString &PlayerID, bool bChallengesOnly=false)
 
void GetChallenges (const FString &PlayerID, FTimedChallenges &Challenges)
 
UStatTrackingSaveLoadStatInstance (const FString &PlayerID)
 
const FLeaderBoardLocalEntryGetLocalLeaderboardEntry ()
 
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 UStatsTrackingManagerGetStatTrackingManager (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, FLeaderBoardEntryCurrentLeaderboard
 
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>()
 

Member Function Documentation

◆ ApplyMatchBonus()

void UStatsTrackingManager::ApplyMatchBonus ( AProjectXPlayerState *const  PlayerState)

◆ AreStatsSynced()

bool UStatsTrackingManager::AreStatsSynced ( const FString &  PlayerID)

◆ BPUpdateStat()

void UStatsTrackingManager::BPUpdateStat ( AProjectXPlayerState PlayerState,
EStatNames  InStatName 
)

◆ BuildStatKey()

FString UStatsTrackingManager::BuildStatKey ( EStatClassifier  StatClass,
const FString &  ClassID,
EStatNames  StatName 
)
static

◆ CheckAchievementList()

void UStatsTrackingManager::CheckAchievementList ( const FStatEvent  AchievementStatEvent)

◆ CheckForLevelUpAchievement()

void UStatsTrackingManager::CheckForLevelUpAchievement ( const int32  Level,
AProjectXPlayerState PlayerState 
)
protected

◆ ClaimChallenge()

void UStatsTrackingManager::ClaimChallenge ( const FString &  ChallengeID)

◆ ConsumeMatchEndBonus()

void UStatsTrackingManager::ConsumeMatchEndBonus ( UStatTrackingSave *const  Save)
protected

◆ ForceLevelToTarget()

void UStatsTrackingManager::ForceLevelToTarget ( const FString &  StatKey,
int  Value 
)

◆ GetChallengeIDFromNumber()

const FString & UStatsTrackingManager::GetChallengeIDFromNumber ( int32  Number)
protected

◆ GetChallenges()

void UStatsTrackingManager::GetChallenges ( const FString &  PlayerID,
FTimedChallenges Challenges 
)

◆ GetChallengNumberFromID()

int32 UStatsTrackingManager::GetChallengNumberFromID ( const FString &  ChallengeID)
protected

◆ GetGameTypeStringFromEnum()

FString UStatsTrackingManager::GetGameTypeStringFromEnum ( EGameType  GameTypeEnum)
protected

◆ GetLeaderboard()

const TMap< int32, FLeaderBoardEntry > & UStatsTrackingManager::GetLeaderboard ( ) const
inline

◆ GetLocalLeaderboardEntry()

const FLeaderBoardLocalEntry & UStatsTrackingManager::GetLocalLeaderboardEntry ( )
inline

◆ GetNakamaLocalPlayerID()

const FString & UStatsTrackingManager::GetNakamaLocalPlayerID ( )
inline

◆ GetPlayerLevelFromPlayerID()

int32 UStatsTrackingManager::GetPlayerLevelFromPlayerID ( const FString &  PlayerID)
protected

◆ GetStat()

int32 UStatsTrackingManager::GetStat ( const FString &  PlayerID,
const EStatClassifier  StatType,
const EStatNames  StatName,
const FString &  StatClassName = "" 
)

◆ GetStatDelta()

int32 UStatsTrackingManager::GetStatDelta ( const FString &  PlayerID,
const EStatClassifier  StatType,
const EStatNames  StatName,
const FString &  StatClassName = "" 
)

◆ GetStatInstance()

UStatTrackingSave * UStatsTrackingManager::GetStatInstance ( const FString &  PlayerID)

◆ GetStatTrackingManager()

UStatsTrackingManager * UStatsTrackingManager::GetStatTrackingManager ( const UObject *  WorldContextObject)
static

◆ HasChallengeReroll()

bool UStatsTrackingManager::HasChallengeReroll ( ) const
inline

◆ Init()

void UStatsTrackingManager::Init ( UProjectXGameInstance GameInstance)

◆ InitializeAllStats()

void UStatsTrackingManager::InitializeAllStats ( UStatTrackingSave StatSaveObject)
protected

◆ InitializeProgressionStats()

void UStatsTrackingManager::InitializeProgressionStats ( UStatTrackingSave StatSaveObject)
protected

◆ InitStatType()

void UStatsTrackingManager::InitStatType ( UStatTrackingSave Save,
const TArray< FString > &  ClassNames,
EStatClassifier  Class 
)

◆ IsAuthoritativeState()

bool UStatsTrackingManager::IsAuthoritativeState ( EStatNames  StatName)

◆ IsValidLeaderboardPage()

bool UStatsTrackingManager::IsValidLeaderboardPage ( int32  PageNumber,
int32  Entries 
) const

◆ IsValidStatCheck()

bool UStatsTrackingManager::IsValidStatCheck ( EStatClassifier  Class,
EStatNames  Name 
) const

◆ LeaderboardLoadedResponse()

void UStatsTrackingManager::LeaderboardLoadedResponse ( const TArray< TSharedPtr< FJsonValue > > &  LeaderboardEntryList)

◆ LoadAllStats()

void UStatsTrackingManager::LoadAllStats ( const FString &  PlayerID,
bool  bForceReload = false 
)

◆ LoadAuthoritativeStats()

void UStatsTrackingManager::LoadAuthoritativeStats ( const FString &  PlayerID,
const TArray< FString > &  StatNames,
bool  bForceReload = false 
)

◆ LoadChallenges()

void UStatsTrackingManager::LoadChallenges ( const FString &  PlayerID)

◆ LoadChallengesResponse()

void UStatsTrackingManager::LoadChallengesResponse ( TSharedPtr< FJsonObject >  FoundChallengesJson,
const FString &  PlayerID 
)
protected

◆ LoadFriendsLeaderboardResponse()

void UStatsTrackingManager::LoadFriendsLeaderboardResponse ( const TArray< TSharedPtr< FJsonValue > > &  LeaderboardEntryList)

◆ LoadLeaderBoard()

void UStatsTrackingManager::LoadLeaderBoard ( const FString &  StatKey,
int  NumberOfEntries,
int  PageNumber 
)

◆ LoadLeaderBoardForFriends()

void UStatsTrackingManager::LoadLeaderBoardForFriends ( const FString &  StatKey,
int  PageNumber = 0 
)

◆ LoadLeaderBoardForStat()

void UStatsTrackingManager::LoadLeaderBoardForStat ( EStatNames  Name,
EStatClassifier  Type,
const FString &  Class,
int  NumberOfEntries,
int  PageNumber,
bool  bFriendsOnly = false 
)

◆ LoadPersonalLeaderBoard()

void UStatsTrackingManager::LoadPersonalLeaderBoard ( const FString &  StatKey)

◆ LoadRequestedPlayerStats()

void UStatsTrackingManager::LoadRequestedPlayerStats ( const FString &  PlayerID,
const TArray< FString > &  StatNames,
bool  bForceReload 
)

◆ LoadStatInstance()

UStatTrackingSave * UStatsTrackingManager::LoadStatInstance ( const FString &  PlayerID)

◆ MakeExperienceUpdate()

TSharedPtr< FJsonObject > UStatsTrackingManager::MakeExperienceUpdate ( EStatClassifier  Classifier,
const FString &  ClassID,
const FString &  PlayerID 
)
protected

◆ MarkStatSaveForReload()

void UStatsTrackingManager::MarkStatSaveForReload ( const FString &  PlayerID,
bool  bAuthorityOnly = false 
)

◆ OnExperienceUpdatedResponse()

void UStatsTrackingManager::OnExperienceUpdatedResponse ( UStatTrackingSave *const  Save,
const TArray< TSharedPtr< FJsonValue > > &  LevelingResults 
)
protected

◆ OnNakamaConnected()

void UStatsTrackingManager::OnNakamaConnected ( )

◆ OnPurchaseEvent()

void UStatsTrackingManager::OnPurchaseEvent ( bool  bPurchaseSucess,
const FString &  ItemID 
)

◆ OverrideAuthoritativeStat()

void UStatsTrackingManager::OverrideAuthoritativeStat ( const FString &  StatKey,
int  Value 
)

◆ ParseStatKey()

void UStatsTrackingManager::ParseStatKey ( const FString &  Key,
EStatClassifier StatClass,
FString &  ClassID,
EStatNames StatName 
)
static

◆ RemoveStatInstance()

void UStatsTrackingManager::RemoveStatInstance ( const FString &  PlayerID)

◆ RerollChallenge()

void UStatsTrackingManager::RerollChallenge ( const FString &  ChallengeID)

◆ ResetCurrentLeaderboard()

void UStatsTrackingManager::ResetCurrentLeaderboard ( const FString &  StatKey,
bool  bFriends 
)
protected

◆ SaveAllInstances()

void UStatsTrackingManager::SaveAllInstances ( )

◆ SaveChallenges()

void UStatsTrackingManager::SaveChallenges ( UStatTrackingSave *const  Save)
protected

◆ SaveExperience()

void UStatsTrackingManager::SaveExperience ( UStatTrackingSave *const  Save)
protected

◆ SaveInstance()

void UStatsTrackingManager::SaveInstance ( const FString &  PlayerID,
bool  bChallengesOnly = false 
)

◆ SaveStatIntance()

void UStatsTrackingManager::SaveStatIntance ( UStatTrackingSave *const  Save)
protected

◆ ShotComplete()

void UStatsTrackingManager::ShotComplete ( struct FStatEvent const &  StatEvent,
const uint16  ID 
)

◆ UpdateChallengeComplete()

void UStatsTrackingManager::UpdateChallengeComplete ( const FString &  PlayerID,
const FString &  ChallengeID 
)

◆ UpdateChallengePredictiveProgressFromChallengeNumber()

void UStatsTrackingManager::UpdateChallengePredictiveProgressFromChallengeNumber ( AProjectXPlayerState *const  PlayerState,
uint8  ChallengeID 
)

◆ UpdateChallengeProgressFromStat()

void UStatsTrackingManager::UpdateChallengeProgressFromStat ( TWeakObjectPtr< AProjectXPlayerState PlayerState,
const EStatClassifier  ClassType,
const EStatNames  StatName,
const FString &  ClassName = "" 
)
protected

◆ UpdateStat()

void UStatsTrackingManager::UpdateStat ( struct FStatEvent const &  StatEvent)

Member Data Documentation

◆ AnalyticStatsToSend

TMap<FString, float> UStatsTrackingManager::AnalyticStatsToSend
protected

◆ AuthoritativeStats

TSet<FString> UStatsTrackingManager::AuthoritativeStats = TSet<FString>()
protected

◆ bFriendsOnlyLoaded

bool UStatsTrackingManager::bFriendsOnlyLoaded = false
protected

◆ bHasChallengeReroll

bool UStatsTrackingManager::bHasChallengeReroll = false
protected

◆ ChallengeComplete

FString UStatsTrackingManager::ChallengeComplete = "VO_ChallengeCompleted"
protected

◆ ChallengeIDs

TArray<FString> UStatsTrackingManager::ChallengeIDs
protected

◆ CurrentLeaderboard

TMap<int32, FLeaderBoardEntry> UStatsTrackingManager::CurrentLeaderboard
protected

◆ CurrentLeaderboardStatKey

FString UStatsTrackingManager::CurrentLeaderboardStatKey = ""
protected

◆ EmptyChallengeID

FString UStatsTrackingManager::EmptyChallengeID = ""
protected

◆ HighestLoadedLeaderboardPage

int32 UStatsTrackingManager::HighestLoadedLeaderboardPage = 0
protected

◆ LeaderboardCursor

std::string UStatsTrackingManager::LeaderboardCursor
protected

◆ LeaderboardEntries

TArray<TSharedPtr<FJsonValue> > UStatsTrackingManager::LeaderboardEntries
protected

◆ LeaderboardStats

TSet<FString> UStatsTrackingManager::LeaderboardStats = TSet<FString>()
protected

◆ LocalLeaderboardEntry

FLeaderBoardLocalEntry UStatsTrackingManager::LocalLeaderboardEntry = FLeaderBoardLocalEntry()
protected

◆ LocalPlayerID

FString UStatsTrackingManager::LocalPlayerID = ""
protected

◆ OnAuthoritativeStastLoaded

FStatsSaveLoadedSignature UStatsTrackingManager::OnAuthoritativeStastLoaded

◆ OnChallengeClaimedEvent

FChallengeClaimedSignature UStatsTrackingManager::OnChallengeClaimedEvent

◆ OnChallengeProgressUpdated

FChallengeProgressSignature UStatsTrackingManager::OnChallengeProgressUpdated

◆ OnChallengesLoadedEvent

FChallengesSignature UStatsTrackingManager::OnChallengesLoadedEvent

◆ OnLeaderBoardLoaded

FLeaderBoardLoadedSignature UStatsTrackingManager::OnLeaderBoardLoaded

◆ OnLocalLeaderboardUpdatedEvent

FLeaderBoardLoadedSignature UStatsTrackingManager::OnLocalLeaderboardUpdatedEvent

◆ OnPlayerLeveledUp

FLevelUpEventSignature UStatsTrackingManager::OnPlayerLeveledUp

◆ OnStatsFinishedLoading

FStatsFinishedLoadingSignature UStatsTrackingManager::OnStatsFinishedLoading

◆ OnStatsLoaded

FStatsSaveLoadedSignature UStatsTrackingManager::OnStatsLoaded

◆ OnStatsTrackingManagerInitialized

FStatsTrackingManagerInitializedSignature UStatsTrackingManager::OnStatsTrackingManagerInitialized

◆ RetryConnectionHandle

FTimerHandle UStatsTrackingManager::RetryConnectionHandle
protected

◆ StatSaves

TMap<FString, UStatTrackingSave*> UStatsTrackingManager::StatSaves = TMap<FString, UStatTrackingSave*>()
protected

◆ ValidClassStats

TMap<EStatClassifier,TSet<EStatNames> > UStatsTrackingManager::ValidClassStats
protected

The documentation for this class was generated from the following files: