Space Plunder
Loading...
Searching...
No Matches
UResetAllStatsAndAchievements Class Reference

#include <ResetAllStatsAndAchievements.h>

Inheritance diagram for UResetAllStatsAndAchievements:

Static Public Member Functions

static UResetAllStatsAndAchievementsResetUserStatsAndAchievements (bool bAchievementsToo)
 

Public Attributes

FResponseResetStatsAndAchievementsDelegate onSuccess
 
FResponseResetStatsAndAchievementsDelegate onFailure
 
bool bresetAchievementsToo
 

Private Member Functions

virtual void Activate () override
 
void UnregisterAllCallbacks ()
 
 STEAM_CALLBACK_MANUAL (UResetAllStatsAndAchievements, OnUserStatsStored, UserStatsStored_t, UserStatsStored)
 
 STEAM_CALLBACK_MANUAL (UResetAllStatsAndAchievements, OnUserAchievementsStored, UserAchievementStored_t, UserAchievementsStored)
 
 STEAM_CALLBACK_MANUAL (UResetAllStatsAndAchievements, OnUserStatsReceived, UserStatsReceived_t, UserStatsReceived)
 
void OnRequestGlobalAchievementPercentages (GlobalAchievementPercentagesReady_t *pCallback, bool bIOFailure)
 

Private Attributes

bool bFetchedStatsOrAchievements
 
FOnlineSubsystemSteam * SteamSubsystem
 
CCallResult< UResetAllStatsAndAchievements, GlobalAchievementPercentagesReady_t > m_callRequestGlobalAchievementPercentages
 

Member Function Documentation

◆ Activate()

void UResetAllStatsAndAchievements::Activate ( )
overrideprivatevirtual
29{
30 if (SteamAPI_Init())
31 {
32 if (!SteamUserStats()->ResetAllStats(bresetAchievementsToo))
33 {
34 GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Failed to reset stats and/or achievements!"));
35
36 onFailure.Broadcast(EResult::k_EResultFail);
38 }
39 }
40 else
41 {
42 GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Failed to initialize the Steam API!"));
43
44 onFailure.Broadcast(EResult::k_EResultFail);
46 }
47}
void UnregisterAllCallbacks()
Definition ResetAllStatsAndAchievements.cpp:6
FResponseResetStatsAndAchievementsDelegate onFailure
Definition ResetAllStatsAndAchievements.h:42
bool bresetAchievementsToo
Definition ResetAllStatsAndAchievements.h:45

◆ OnRequestGlobalAchievementPercentages()

void UResetAllStatsAndAchievements::OnRequestGlobalAchievementPercentages ( GlobalAchievementPercentagesReady_t * pCallback,
bool bIOFailure )
private
114{
115 uint64 gameID = pCallback->m_nGameID;
116 EResult callbackResult = pCallback->m_eResult;
117
118 if (gameID == SteamUtils()->GetAppID())
119 {
120 if (callbackResult == EResult::k_EResultFail)
121 {
122 GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No global achievement percentages for the current AppId!"));
123 }
124
125 AsyncTask(ENamedThreads::GameThread, [this]()
126 {
127 onSuccess.Broadcast(EResult::k_EResultOK);
128 }
129 );
130
132 }
133 else
134 {
135 onFailure.Broadcast(callbackResult);
137 }
138}
FResponseResetStatsAndAchievementsDelegate onSuccess
Definition ResetAllStatsAndAchievements.h:39

◆ ResetUserStatsAndAchievements()

UResetAllStatsAndAchievements * UResetAllStatsAndAchievements::ResetUserStatsAndAchievements ( bool bAchievementsToo)
static
14{
15 UResetAllStatsAndAchievements* selfRef = NewObject<UResetAllStatsAndAchievements>();
16
17 selfRef->SteamSubsystem = static_cast<FOnlineSubsystemSteam*>(IOnlineSubsystem::Get());
18 selfRef->bresetAchievementsToo = bAchievementsToo;
19 selfRef->bFetchedStatsOrAchievements = false;
20
21 selfRef->UserStatsStored.Register(selfRef, &UResetAllStatsAndAchievements::OnUserStatsStored);
22 selfRef->UserAchievementsStored.Register(selfRef, &UResetAllStatsAndAchievements::OnUserAchievementsStored);
23 selfRef->UserStatsReceived.Register(selfRef, &UResetAllStatsAndAchievements::OnUserStatsReceived);
24
25 return selfRef;
26}
Definition ResetAllStatsAndAchievements.h:34
bool bFetchedStatsOrAchievements
Definition ResetAllStatsAndAchievements.h:52
FOnlineSubsystemSteam * SteamSubsystem
Definition ResetAllStatsAndAchievements.h:53

◆ STEAM_CALLBACK_MANUAL() [1/3]

UResetAllStatsAndAchievements::STEAM_CALLBACK_MANUAL ( UResetAllStatsAndAchievements ,
OnUserAchievementsStored ,
UserAchievementStored_t ,
UserAchievementsStored  )
private

◆ STEAM_CALLBACK_MANUAL() [2/3]

UResetAllStatsAndAchievements::STEAM_CALLBACK_MANUAL ( UResetAllStatsAndAchievements ,
OnUserStatsReceived ,
UserStatsReceived_t ,
UserStatsReceived  )
private

◆ STEAM_CALLBACK_MANUAL() [3/3]

UResetAllStatsAndAchievements::STEAM_CALLBACK_MANUAL ( UResetAllStatsAndAchievements ,
OnUserStatsStored ,
UserStatsStored_t ,
UserStatsStored  )
private

◆ UnregisterAllCallbacks()

void UResetAllStatsAndAchievements::UnregisterAllCallbacks ( )
private
7{
8 UserStatsStored.Unregister();
9 UserAchievementsStored.Unregister();
10 UserStatsReceived.Unregister();
11}

Member Data Documentation

◆ bFetchedStatsOrAchievements

bool UResetAllStatsAndAchievements::bFetchedStatsOrAchievements
private

◆ bresetAchievementsToo

bool UResetAllStatsAndAchievements::bresetAchievementsToo

◆ m_callRequestGlobalAchievementPercentages

CCallResult<UResetAllStatsAndAchievements, GlobalAchievementPercentagesReady_t> UResetAllStatsAndAchievements::m_callRequestGlobalAchievementPercentages
private

◆ onFailure

FResponseResetStatsAndAchievementsDelegate UResetAllStatsAndAchievements::onFailure

◆ onSuccess

FResponseResetStatsAndAchievementsDelegate UResetAllStatsAndAchievements::onSuccess

◆ SteamSubsystem

FOnlineSubsystemSteam* UResetAllStatsAndAchievements::SteamSubsystem
private

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