4#include "CoreMinimal.h"
5#include "UObject/NoExportTypes.h"
6#include "PPF_Platform.h"
7#include "OnlineSubsystemPicoNames.h"
8#include "OnlineSubsystemPico.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10#include "Pico_Achievements.generated.h"
14DECLARE_LOG_CATEGORY_EXTERN(PicoAchievements, Log, All);
25DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddCount,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
26DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddFields,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
27DECLARE_DYNAMIC_DELEGATE_ThreeParams(FUnlock,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
28DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllDefinitions,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
29DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllProgress,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementProgressArray*, AchievementProgressArray);
30DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetDefinitionsByName,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
31DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetProgressByName,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementProgressArray*, AchievementProgressArray);
48 FOnlineSubsystemPico& PicoSubsystem;
54 FAddCount AddCountDelegate;
55 FAddFields AddFieldsDelegate;
56 FUnlock UnlockDelegate;
57 FGetAllDefinitions GetAllDefinitionsDelegate;
58 FGetAllProgress GetAllProgressDelegate;
59 FGetDefinitionsByName GetDefinitionsByNameDelegate;
60 FGetProgressByName GetProgressByNameDelegate;
80 bool AddCount(
const FString& Name,
const int64& Count,
const FString& ExtraData, FAddCount InAddCountDelegate);
98 bool AddFields(
const FString& Name,
const FString& Fields,
const FString& ExtraData, FAddFields InAddFieldsCallback);
111 bool Unlock(
const FString& Name,
const FString& ExtraData, FUnlock InUnlockCallback);
126 bool GetAllDefinitions(int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
142 bool GetAllProgress(int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
156 bool GetDefinitionsByName(
const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
171 bool GetProgressByName(
const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
209 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Achievements")
210 static
void PicoAddCount(UObject* WorldContextObject, const FString& Name, const FString& Count, const FString& ExtraData, FAddCount InAddCountCallback);
223 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
224 static
void PicoAddFields(UObject* WorldContextObject, const FString& Name, const FString& Fields, const FString& ExtraData, FAddFields InAddFieldsCallback);
233 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
234 static
void PicoUnlock(UObject* WorldContextObject, const FString& Name, const FString& ExtraData, FUnlock InUnlockCallback);
244 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
245 static
void PicoGetAllDefinitions(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
256 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
257 static
void PicoGetAllProgress(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
266 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
267 static
void PicoGetDefinitionsByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
277 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
278 static
void PicoGetProgressByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
296 void InitParams(ppfAchievementUpdateHandle ppfAchievementUpdateHandle);
299 FString Name = FString();
300 bool JustUnlocked =
false;
304 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Update")
308 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Update")
309 bool GetJustUnlocked();
320 void InitParams(ppfAchievementProgressHandle ppfAchievementProgressHandle);
323 FString Bitfield = FString();
325 bool IsUnlocked =
false;
326 FString Name = FString();
328 unsigned long long UnlockTime = 0;
329 TArray<uint8> ExtraData;
333 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Progress")
334 FString GetBitfield();
337 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
341 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
342 bool GetIsUnlocked();
345 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
349 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
350 FString GetUnlockTime();
353 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
354 FDateTime GetUnlockDateTime();
357 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
361 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
362 TArray<uint8> GetExtraData();
365 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
366 FString GetExtraDataString();
377 void InitParams(ppfAchievementDefinition* ppfAchievementDefinitionHandle);
381 unsigned int BitfieldLength = 0;
382 FString Name = FString();
383 long long Target = 0;
384 FString Description = FString();
385 FString Title = FString();
386 bool IsArchived =
false;
387 bool IsSecret =
false;
389 FString UnlockedDescription = FString();
391 FString LockedImageURL = FString();
392 FString UnlockedImageURL = FString();
396 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Definition")
400 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
401 FString GetBitfieldLength();
404 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
408 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
412 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
413 FString GetDescription();
416 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
420 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
421 bool GetIsArchived();
424 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
428 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
432 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
433 FString GetUnlockedDescription();
436 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
440 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
441 FString GetLockedImageURL();
444 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
445 FString GetUnlockedImageURL();
455 TArray<UPico_AchievementProgress*> AchievementProgressArray;
460 void InitParams(ppfAchievementProgressArrayHandle InppfAchievementProgressArrayHandle);
463 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Progress Array")
468 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
471 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
472 int32 GetTotalSize();
475 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
487 TArray<UPico_AchievementDefinition*> AchievementDefinitionArray;
493 void InitParams(ppfAchievementDefinitionArrayHandle InppfAchievementDefinitionArrayHandle);
496 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Definition Array")
500 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
503 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
504 int32 GetTotalSize();
507 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
PicoAchievementsInterface class.
Definition: Pico_Achievements.h:45
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:191
UPico_AchievementDefinitionArray class.
Definition: Pico_Achievements.h:482
UPico_AchievementDefinition class.
Definition: Pico_Achievements.h:372
UPico_AchievementProgressArray class.
Definition: Pico_Achievements.h:451
UPico_AchievementProgress class.
Definition: Pico_Achievements.h:315
UPico_AchievementUpdate class.
Definition: Pico_Achievements.h:292
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:561
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:570