16#include "CoreMinimal.h"
17#include "UObject/NoExportTypes.h"
18#include "PPF_Platform.h"
19#include "OnlineSubsystemPicoNames.h"
20#include "OnlineSubsystemPico.h"
21#include "Pico_Achievements.generated.h"
25DECLARE_LOG_CATEGORY_EXTERN(PicoAchievements, Log, All);
36DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddCount,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
37DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddFields,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
38DECLARE_DYNAMIC_DELEGATE_ThreeParams(FUnlock,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
39DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllDefinitions,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
40DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllProgress,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementProgressArray*, AchievementProgressArray);
41DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetDefinitionsByName,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
42DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetProgressByName,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementProgressArray*, AchievementProgressArray);
59 FOnlineSubsystemPico& PicoSubsystem;
65 FAddCount AddCountDelegate;
66 FAddFields AddFieldsDelegate;
67 FUnlock UnlockDelegate;
68 FGetAllDefinitions GetAllDefinitionsDelegate;
69 FGetAllProgress GetAllProgressDelegate;
70 FGetDefinitionsByName GetDefinitionsByNameDelegate;
71 FGetProgressByName GetProgressByNameDelegate;
91 bool AddCount(
const FString& Name,
const int64& Count,
const FString& ExtraData, FAddCount InAddCountDelegate);
109 bool AddFields(
const FString& Name,
const FString& Fields,
const FString& ExtraData, FAddFields InAddFieldsCallback);
122 bool Unlock(
const FString& Name,
const FString& ExtraData, FUnlock InUnlockCallback);
137 bool GetAllDefinitions(int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
153 bool GetAllProgress(int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
167 bool GetDefinitionsByName(
const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
182 bool GetProgressByName(
const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
220 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Achievements")
221 static
void PicoAddCount(UObject* WorldContextObject, const FString& Name, const FString& Count, const FString& ExtraData, FAddCount InAddCountCallback);
234 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
235 static
void PicoAddFields(UObject* WorldContextObject, const FString& Name, const FString& Fields, const FString& ExtraData, FAddFields InAddFieldsCallback);
244 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
245 static
void PicoUnlock(UObject* WorldContextObject, const FString& Name, const FString& ExtraData, FUnlock InUnlockCallback);
255 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
256 static
void PicoGetAllDefinitions(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
267 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
268 static
void PicoGetAllProgress(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
277 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
278 static
void PicoGetDefinitionsByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
288 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
289 static
void PicoGetProgressByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
307 void InitParams(ppfAchievementUpdateHandle ppfAchievementUpdateHandle);
310 FString Name = FString();
311 bool JustUnlocked =
false;
315 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Update")
319 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Update")
320 bool GetJustUnlocked();
331 void InitParams(ppfAchievementProgressHandle ppfAchievementProgressHandle);
334 FString Bitfield = FString();
336 bool IsUnlocked =
false;
337 FString Name = FString();
339 unsigned long long UnlockTime = 0;
340 TArray<uint8> ExtraData;
344 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Progress")
345 FString GetBitfield();
348 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
352 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
353 bool GetIsUnlocked();
356 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
360 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
361 FString GetUnlockTime();
364 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
365 FDateTime GetUnlockDateTime();
368 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
372 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
373 TArray<uint8> GetExtraData();
376 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
377 FString GetExtraDataString();
388 void InitParams(ppfAchievementDefinition* ppfAchievementDefinitionHandle);
392 unsigned int BitfieldLength = 0;
393 FString Name = FString();
394 long long Target = 0;
395 FString Description = FString();
396 FString Title = FString();
397 bool IsArchived =
false;
398 bool IsSecret =
false;
400 FString UnlockedDescription = FString();
402 FString LockedImageURL = FString();
403 FString UnlockedImageURL = FString();
407 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Definition")
411 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
412 FString GetBitfieldLength();
415 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
419 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
423 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
424 FString GetDescription();
427 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
431 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
432 bool GetIsArchived();
435 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
439 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
443 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
444 FString GetUnlockedDescription();
447 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
451 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
452 FString GetLockedImageURL();
455 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
456 FString GetUnlockedImageURL();
466 TArray<UPico_AchievementProgress*> AchievementProgressArray;
467 FString NextPageParam = FString();
472 void InitParams(ppfAchievementProgressArrayHandle InppfAchievementProgressArrayHandle);
475 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Progress Array")
479 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
480 FString GetNextPageParam();
483 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
486 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
487 int32 GetTotalSize();
490 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
502 TArray<UPico_AchievementDefinition*> AchievementDefinitionArray;
503 FString NextPageParam = FString();
509 void InitParams(ppfAchievementDefinitionArrayHandle InppfAchievementDefinitionArrayHandle);
512 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Definition Array")
515 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
516 FString GetNextPageParam();
519 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
522 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
523 int32 GetTotalSize();
526 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
PicoAchievementsInterface class.
Definition: Pico_Achievements.h:56
bool GetAllDefinitions(int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback)
Gets the information about all achievements, including API names, descriptions, types,...
bool AddFields(const FString &Name, const FString &Fields, const FString &ExtraData, FAddFields InAddFieldsCallback)
Unlocks the bit(s) of a specified bitfield achievement. The status of the bit(s) is then unchangeable...
bool Unlock(const FString &Name, const FString &ExtraData, FUnlock InUnlockCallback)
Unlocks a specified achievement of any type even if the target for unlocking this achievement is not ...
bool GetDefinitionsByName(const TArray< FString > &NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback)
Gets the information about specified achievements, including API names, descriptions,...
bool AddCount(const FString &Name, const int64 &Count, const FString &ExtraData, FAddCount InAddCountDelegate)
Adds a count to a specified count achievement. The count will be added to the current count,...
bool GetProgressByName(const TArray< FString > &NameArray, FGetProgressByName InGetProgressByNameCallback)
Gets the user's progress on specified achievements, including API names, whether or not the achieveme...
bool GetAllProgress(int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback)
Gets the user's progress on all achievements, including API names, whether or not the achievements ar...
OnlinePicoAchievements Blueprint Function class.
Definition: Pico_Achievements.h:202
UPico_AchievementDefinitionArray class.
Definition: Pico_Achievements.h:497
UPico_AchievementDefinition class.
Definition: Pico_Achievements.h:383
UPico_AchievementProgressArray class.
Definition: Pico_Achievements.h:462
UPico_AchievementProgress class.
Definition: Pico_Achievements.h:326
UPico_AchievementUpdate class.
Definition: Pico_Achievements.h:303
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:573
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:582