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

#include <GetAchievementData.h>

Inheritance diagram for UGetAchievementData:

Static Public Member Functions

static int32 GetNumAchievements ()
 
static FString GetAchievementAPIName (int32 AchievementIndex)
 
static UTexture2D * GetAchievementIcon (FString AchievementAPIName)
 
static void GetAchievementUnlockStatusAndUnlockTime (FString AchievementAPIName, bool &AchievementUnlocked, FDateTime &UnlockTime)
 
static float GetGlobalAchievementAchievedPercent (FString AchievementAPIName)
 
static FString GetAchievementDisplayAttribute (FString AchievementAPIName, EAchievementDisplayAttributeUE4 Attribute)
 

Member Function Documentation

◆ GetAchievementAPIName()

FString UGetAchievementData::GetAchievementAPIName ( int32 AchievementIndex)
static
108{
109 if (SteamAPI_Init())
110 {
111 return FString(SteamUserStats()->GetAchievementName(AchievementIndex));
112 }
113 else
114 {
115 return "";
116 }
117}

◆ GetAchievementDisplayAttribute()

FString UGetAchievementData::GetAchievementDisplayAttribute ( FString AchievementAPIName,
EAchievementDisplayAttributeUE4 Attribute )
static
74{
75 const char* displayAttributeValue;
76
77 switch (Attribute)
78 {
79 case EAchievementDisplayAttributeUE4::ADA_EAttributeName:
80 displayAttributeValue = SteamUserStats()->GetAchievementDisplayAttribute(TCHAR_TO_ANSI(*AchievementAPIName), "name");
81 break;
82 case EAchievementDisplayAttributeUE4::ADA_EAttributeDescription:
83 displayAttributeValue = SteamUserStats()->GetAchievementDisplayAttribute(TCHAR_TO_ANSI(*AchievementAPIName), "desc");
84 break;
85 case EAchievementDisplayAttributeUE4::ADA_EAttributeHidden:
86 displayAttributeValue = SteamUserStats()->GetAchievementDisplayAttribute(TCHAR_TO_ANSI(*AchievementAPIName), "hidden");
87 break;
88 default:
89 displayAttributeValue = "";
90 }
91
92 return FString(displayAttributeValue);
93}

◆ GetAchievementIcon()

UTexture2D * UGetAchievementData::GetAchievementIcon ( FString AchievementAPIName)
static
21{
22 if (SteamAPI_Init())
23 {
24 int iconIndex = SteamUserStats()->GetAchievementIcon(TCHAR_TO_ANSI(*AchievementAPIName));
25
26 if (iconIndex != 0)
27 {
28 uint32 achievementIconWidth, achievementIconHeight;
29 if (!SteamUtils()->GetImageSize(iconIndex, &achievementIconWidth, &achievementIconHeight))
30 {
31 return nullptr;
32 }
33
34 const int iconSizeinBytes = achievementIconWidth * achievementIconHeight * 4;
35 BYTE* iconBuffer = new BYTE[iconSizeinBytes];
36
37 if (!SteamUtils()->GetImageRGBA(iconIndex, (uint8*)iconBuffer, iconSizeinBytes))
38 {
39 return nullptr;
40 }
41
42 return ConvertToTexture2D(iconBuffer, achievementIconWidth, achievementIconHeight);
43 }
44 }
45
46 return nullptr;
47}
static UTexture2D * ConvertToTexture2D(BYTE *data, int width, int height)
Definition GetAchievementData.cpp:6

◆ GetAchievementUnlockStatusAndUnlockTime()

void UGetAchievementData::GetAchievementUnlockStatusAndUnlockTime ( FString AchievementAPIName,
bool & AchievementUnlocked,
FDateTime & UnlockTime )
static
50{
51 bool achievementUnlockStatus;
52 uint32 achievementUnlockTime;
53
54 if (SteamUserStats()->GetAchievementAndUnlockTime(TCHAR_TO_ANSI(*AchievementAPIName), &achievementUnlockStatus, &achievementUnlockTime))
55 {
56 AchievementUnlocked = achievementUnlockStatus;
57 UnlockTime = FDateTime::FromUnixTimestamp(achievementUnlockTime);
58 }
59}

◆ GetGlobalAchievementAchievedPercent()

float UGetAchievementData::GetGlobalAchievementAchievedPercent ( FString AchievementAPIName)
static
62{
63 float achievementAchievedPercent;
64
65 if (SteamUserStats()->GetAchievementAchievedPercent(TCHAR_TO_ANSI(*AchievementAPIName), &achievementAchievedPercent))
66 {
67 return (float)achievementAchievedPercent;
68 }
69
70 return 0.f;
71}

◆ GetNumAchievements()

int32 UGetAchievementData::GetNumAchievements ( )
static
96{
97 if (SteamAPI_Init())
98 {
99 return SteamUserStats()->GetNumAchievements();
100 }
101 else
102 {
103 return 0;
104 }
105}

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