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

#include <RequestStatsAndAchievements.h>

Inheritance diagram for URequestStatsAndAchievements:

Static Public Member Functions

static URequestStatsAndAchievementsRequestUserStatsAndAchievements ()
 

Public Attributes

FResponseRequestStatsAndAchievementsDelegate onSuccess
 
FResponseRequestStatsAndAchievementsDelegate onFailure
 

Private Member Functions

virtual void Activate () override
 
void RequestUserStats ()
 
void OnUserStatsReceived (UserStatsReceived_t *pCallback, bool bIOFailure)
 
void RequestGlobalAchievementPercentages ()
 
void OnRequestGlobalAchievementPercentages (GlobalAchievementPercentagesReady_t *pCallback, bool bIOFailure)
 

Private Attributes

FOnlineSubsystemSteam * SteamSubsystem
 
CCallResult< URequestStatsAndAchievements, UserStatsReceived_t > m_callRequestUserStats
 
CCallResult< URequestStatsAndAchievements, GlobalAchievementPercentagesReady_t > m_callRequestGlobalAchievementPercentages
 

Member Function Documentation

◆ Activate()

void URequestStatsAndAchievements::Activate ( )
overrideprivatevirtual
17{
18 if (SteamAPI_Init())
19 {
21 }
22 else
23 {
24 GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Failed to initialize the Steam API!"));
25
26 onFailure.Broadcast(EResult::k_EResultFail);
27 RemoveFromRoot();
28 }
29}
void RequestUserStats()
Definition RequestStatsAndAchievements.cpp:31
FResponseRequestStatsAndAchievementsDelegate onFailure
Definition RequestStatsAndAchievements.h:44

◆ OnRequestGlobalAchievementPercentages()

void URequestStatsAndAchievements::OnRequestGlobalAchievementPercentages ( GlobalAchievementPercentagesReady_t * pCallback,
bool bIOFailure )
private
59{
60 if (!bIOFailure && pCallback->m_nGameID == SteamUtils()->GetAppID())
61 {
62 if (pCallback->m_eResult == EResult::k_EResultFail)
63 {
64 GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("No global achievement percentages for the current AppId!"));
65 }
66
67 AsyncTask(ENamedThreads::GameThread, [this]()
68 {
69 onSuccess.Broadcast(EResult::k_EResultOK);
70 }
71 );
72
73 RemoveFromRoot();
74 }
75 else
76 {
77 onFailure.Broadcast(pCallback->m_eResult);
78 RemoveFromRoot();
79 }
80}
FResponseRequestStatsAndAchievementsDelegate onSuccess
Definition RequestStatsAndAchievements.h:41

◆ OnUserStatsReceived()

void URequestStatsAndAchievements::OnUserStatsReceived ( UserStatsReceived_t * pCallback,
bool bIOFailure )
private
38{
39 if (!bIOFailure && pCallback->m_nGameID == SteamUtils()->GetAppID() && pCallback->m_eResult == EResult::k_EResultOK)
40 {
42 }
43 else
44 {
45 GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Failed to receive stats!"));
46
47 onFailure.Broadcast(pCallback->m_eResult);
48 RemoveFromRoot();
49 }
50}
void RequestGlobalAchievementPercentages()
Definition RequestStatsAndAchievements.cpp:52

◆ RequestGlobalAchievementPercentages()

void URequestStatsAndAchievements::RequestGlobalAchievementPercentages ( )
private
53{
54 SteamAPICall_t hSteamAPICall = SteamUserStats()->RequestGlobalAchievementPercentages();
56}
void OnRequestGlobalAchievementPercentages(GlobalAchievementPercentagesReady_t *pCallback, bool bIOFailure)
Definition RequestStatsAndAchievements.cpp:58
CCallResult< URequestStatsAndAchievements, GlobalAchievementPercentagesReady_t > m_callRequestGlobalAchievementPercentages
Definition RequestStatsAndAchievements.h:61

◆ RequestUserStats()

void URequestStatsAndAchievements::RequestUserStats ( )
private
32{
33 SteamAPICall_t hSteamAPICall = SteamUserStats()->RequestUserStats(SteamUser()->GetSteamID());
35}
void OnUserStatsReceived(UserStatsReceived_t *pCallback, bool bIOFailure)
Definition RequestStatsAndAchievements.cpp:37
CCallResult< URequestStatsAndAchievements, UserStatsReceived_t > m_callRequestUserStats
Definition RequestStatsAndAchievements.h:57

◆ RequestUserStatsAndAchievements()

URequestStatsAndAchievements * URequestStatsAndAchievements::RequestUserStatsAndAchievements ( )
static
8{
9 URequestStatsAndAchievements* selfRef = NewObject<URequestStatsAndAchievements>();
10
11 selfRef->SteamSubsystem = static_cast<FOnlineSubsystemSteam*>(IOnlineSubsystem::Get());
12
13 return selfRef;
14}
Definition RequestStatsAndAchievements.h:36
FOnlineSubsystemSteam * SteamSubsystem
Definition RequestStatsAndAchievements.h:51

Member Data Documentation

◆ m_callRequestGlobalAchievementPercentages

CCallResult<URequestStatsAndAchievements, GlobalAchievementPercentagesReady_t> URequestStatsAndAchievements::m_callRequestGlobalAchievementPercentages
private

◆ m_callRequestUserStats

CCallResult<URequestStatsAndAchievements, UserStatsReceived_t> URequestStatsAndAchievements::m_callRequestUserStats
private

◆ onFailure

FResponseRequestStatsAndAchievementsDelegate URequestStatsAndAchievements::onFailure

◆ onSuccess

FResponseRequestStatsAndAchievementsDelegate URequestStatsAndAchievements::onSuccess

◆ SteamSubsystem

FOnlineSubsystemSteam* URequestStatsAndAchievements::SteamSubsystem
private

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