5#include "Interfaces/OnlineAchievementsInterface.h"
6#include "OnlineIdentityPico.h"
7#include "OnlineSubsystemPicoPackage.h"
9#define USE_PICO_ACHIEVEMENT_DESC FName(TEXT("USE_PICO_ACHIEVEMENT_DESC"))
10#define USE_PICO_ACHIEVEMENT FName(TEXT("USE_PICO_ACHIEVEMNT"))
11#define USE_PICO_ACHIEVEMENT_WRITE FName(TEXT("USE_PICO_ACHIEVEMENT_WRITE"))
42 FString ToDebugString()
const
44 return FString::Printf( TEXT(
"Name=%s\nTitle=%s\nLockedDesc=%s\nUnlockedDesc=%s\nbIsHidden=%s\nType=%d\nTarget=%llu\nBitfieldLength=%u\nIsArchived: %s\nLockedImageURL: %s\nUnlockedImageURL: %s\nWritePolicy: %d\n"),
45 *
Name, *Title.ToString(),
46 *LockedDesc.ToString(),
47 *UnlockedDesc.ToString(),
48 bIsHidden ? TEXT(
"true") : TEXT(
"false"),
80 Count = ppf_AchievementProgress_GetCount(AchievementProgress);
81 Bitfield = ppf_AchievementProgress_GetBitfield(AchievementProgress);
82 bIsUnlocked = ppf_AchievementProgress_GetIsUnlocked(AchievementProgress);
84 FString AchievementName = UTF8_TO_TCHAR(ppf_AchievementProgress_GetName(AchievementProgress));
85 UE_LOG_ONLINE_ACHIEVEMENTS(Display, TEXT(
"PPF_GAME FOnlineAchievementPico constructor ppf_AchievementProgress_GetName: %s, ppf_AchievementProgress_GetCount: %lld"), *AchievementName, ppf_AchievementProgress_GetCount(AchievementProgress));
93 UE_LOG_ONLINE_ACHIEVEMENTS(Display, TEXT(
"PPF_GAME FOnlineAchievementPico constructor by FOnlineAchievementDescPico AchievementDesc.Name: %s"), *AchievementDesc.
Name);
94 Id = AchievementDesc.
Name;
96 if (AchievementDesc.
Type == EAchievementType::Bitfield)
109 UE_LOG_ONLINE_ACHIEVEMENTS(Display, TEXT(
"PPF_GAME FOnlineAchievementPico constructor by FOnlineAchievement Id: %s"), *OnlineAchievementPico.Id);
110 Id = OnlineAchievementPico.Id;
111 Progress = OnlineAchievementPico.Progress;
132 void GetWriteAchievementCountValue(FVariantData VariantData,
long long& OutData)
const;
133 void GetWriteAchievementBitfieldValue(FVariantData VariantData, FString& OutData, uint32 BitfieldLength)
const;
137 void SaveLog(
const ELogVerbosity::Type Verbosity,
const FString & Log)
const;
141 int GetAllProgressIndex = 0;
142 int GetAllDefinitionIndex = 0;
167 virtual void WriteAchievements(
const FUniqueNetId& PlayerId, FOnlineAchievementsWriteRef& WriteObject,
const FOnAchievementsWrittenDelegate& Delegate = FOnAchievementsWrittenDelegate())
override;
172 virtual void QueryAchievements(
const FUniqueNetId& PlayerId,
const FOnQueryAchievementsCompleteDelegate& Delegate = FOnQueryAchievementsCompleteDelegate())
override;
177 virtual void QueryAchievementDescriptions(
const FUniqueNetId& PlayerId,
const FOnQueryAchievementsCompleteDelegate& Delegate = FOnQueryAchievementsCompleteDelegate())
override;
189 virtual EOnlineCachedResult::Type
GetCachedAchievement(
const FUniqueNetId& PlayerId,
const FString& AchievementId, FOnlineAchievement& OutAchievement)
override;
200 virtual EOnlineCachedResult::Type
GetCachedAchievements(
const FUniqueNetId& PlayerId, TArray<FOnlineAchievement> & OutAchievements)
override;
212#if !UE_BUILD_SHIPPING
213 virtual bool ResetAchievements(
const FUniqueNetId& PlayerId)
override;
Definition: OnlineAchievementsInterfacePico.h:120
FOnlineSubsystemPico & PicoSubsystem
Definition: OnlineAchievementsInterfacePico.h:124
TMap< FUniqueNetIdPico, TArray< FOnlineAchievement > > PlayerAchievements
Definition: OnlineAchievementsInterfacePico.h:127
virtual void QueryAchievements(const FUniqueNetId &PlayerId, const FOnQueryAchievementsCompleteDelegate &Delegate=FOnQueryAchievementsCompleteDelegate()) override
Read achievement ids and progress from the server. You must use QueryAchievementDescriptions first to...
virtual void QueryAchievementDescriptions(const FUniqueNetId &PlayerId, const FOnQueryAchievementsCompleteDelegate &Delegate=FOnQueryAchievementsCompleteDelegate()) override
Read achievement descriptions from the server for displaying achievements in game。
virtual EOnlineCachedResult::Type GetCachedAchievements(const FUniqueNetId &PlayerId, TArray< FOnlineAchievement > &OutAchievements) override
Get cached achievements data.
const int MAX_REQUEST_SIZE
Definition: OnlineAchievementsInterfacePico.h:140
virtual ~FOnlineAchievementsPico()
virtual void WriteAchievements(const FUniqueNetId &PlayerId, FOnlineAchievementsWriteRef &WriteObject, const FOnAchievementsWrittenDelegate &Delegate=FOnAchievementsWrittenDelegate()) override
Refresh achievement progress data to the server, or unlock an achievement. If the achievement type is...
virtual EOnlineCachedResult::Type GetCachedAchievement(const FUniqueNetId &PlayerId, const FString &AchievementId, FOnlineAchievement &OutAchievement) override
Get cached achievement data.
TMap< FString, FOnlineAchievementDescPico > AchievementDescriptions
Definition: OnlineAchievementsInterfacePico.h:130
FOnlineAchievementsPico(FOnlineSubsystemPico &InSubsystem)
virtual EOnlineCachedResult::Type GetCachedAchievementDescription(const FString &AchievementId, FOnlineAchievementDesc &OutAchievementDesc) override
The lookup achievement data was found in the cache.
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:561
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:570
Definition: OnlineAchievementsInterfacePico.h:17
uint32 BitfieldLength
Definition: OnlineAchievementsInterfacePico.h:25
FString UnlockedImageURL
Definition: OnlineAchievementsInterfacePico.h:40
EAchievementType Type
Definition: OnlineAchievementsInterfacePico.h:19
uint64 Target
Definition: OnlineAchievementsInterfacePico.h:22
FString LockedImageURL
Definition: OnlineAchievementsInterfacePico.h:37
bool IsArchived
Definition: OnlineAchievementsInterfacePico.h:31
FString Name
Definition: OnlineAchievementsInterfacePico.h:34
EAchievementWritePolicy WritePolicy
Definition: OnlineAchievementsInterfacePico.h:28
Definition: OnlineAchievementsInterfacePico.h:65
long long Count
Definition: OnlineAchievementsInterfacePico.h:67
FString Bitfield
Definition: OnlineAchievementsInterfacePico.h:70
bool bIsUnlocked
Definition: OnlineAchievementsInterfacePico.h:73