4#include "CoreMinimal.h"
5#include "UObject/NoExportTypes.h"
6#include "PPF_Platform.h"
7#include "OnlineSubsystemPicoNames.h"
8#include "OnlineSubsystemPico.h"
9#include "Pico_Achievements.generated.h"
13DECLARE_LOG_CATEGORY_EXTERN(PicoAchievements, Log, All);
24DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddCount,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
25DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddFields,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
26DECLARE_DYNAMIC_DELEGATE_ThreeParams(FUnlock,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementUpdate*, AchievementUpdate);
27DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllDefinitions,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
28DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllProgress,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementProgressArray*, AchievementProgressArray);
29DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetDefinitionsByName,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
30DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetProgressByName,
bool, bIsError,
const FString&, ErrorMessage,
UPico_AchievementProgressArray*, AchievementProgressArray);
47 FOnlineSubsystemPico& PicoSubsystem;
53 FAddCount AddCountDelegate;
54 FAddFields AddFieldsDelegate;
55 FUnlock UnlockDelegate;
56 FGetAllDefinitions GetAllDefinitionsDelegate;
57 FGetAllProgress GetAllProgressDelegate;
58 FGetDefinitionsByName GetDefinitionsByNameDelegate;
59 FGetProgressByName GetProgressByNameDelegate;
79 bool AddCount(
const FString& Name,
const int64& Count,
const FString& ExtraData, FAddCount InAddCountDelegate);
97 bool AddFields(
const FString& Name,
const FString& Fields,
const FString& ExtraData, FAddFields InAddFieldsCallback);
110 bool Unlock(
const FString& Name,
const FString& ExtraData, FUnlock InUnlockCallback);
125 bool GetAllDefinitions(int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
141 bool GetAllProgress(int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
155 bool GetDefinitionsByName(
const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
170 bool GetProgressByName(
const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
208 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Achievements")
209 static
void PicoAddCount(UObject* WorldContextObject, const FString& Name, const FString& Count, const FString& ExtraData, FAddCount InAddCountCallback);
222 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
223 static
void PicoAddFields(UObject* WorldContextObject, const FString& Name, const FString& Fields, const FString& ExtraData, FAddFields InAddFieldsCallback);
232 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
233 static
void PicoUnlock(UObject* WorldContextObject, const FString& Name, const FString& ExtraData, FUnlock InUnlockCallback);
243 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
244 static
void PicoGetAllDefinitions(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
255 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
256 static
void PicoGetAllProgress(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
265 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
266 static
void PicoGetDefinitionsByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
276 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
277 static
void PicoGetProgressByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
295 void InitParams(ppfAchievementUpdateHandle ppfAchievementUpdateHandle);
298 FString Name = FString();
299 bool JustUnlocked =
false;
303 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Update")
307 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Update")
308 bool GetJustUnlocked();
319 void InitParams(ppfAchievementProgressHandle ppfAchievementProgressHandle);
322 FString Bitfield = FString();
324 bool IsUnlocked =
false;
325 FString Name = FString();
327 unsigned long long UnlockTime = 0;
328 TArray<uint8> ExtraData;
332 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Progress")
333 FString GetBitfield();
336 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
340 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
341 bool GetIsUnlocked();
344 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
348 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
349 FString GetUnlockTime();
352 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
353 FDateTime GetUnlockDateTime();
356 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
360 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
361 TArray<uint8> GetExtraData();
364 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
365 FString GetExtraDataString();
376 void InitParams(ppfAchievementDefinition* ppfAchievementDefinitionHandle);
380 unsigned int BitfieldLength = 0;
381 FString Name = FString();
382 long long Target = 0;
383 FString Description = FString();
384 FString Title = FString();
385 bool IsArchived =
false;
386 bool IsSecret =
false;
388 FString UnlockedDescription = FString();
390 FString LockedImageURL = FString();
391 FString UnlockedImageURL = FString();
395 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Definition")
399 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
400 FString GetBitfieldLength();
403 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
407 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
411 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
412 FString GetDescription();
415 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
419 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
420 bool GetIsArchived();
423 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
427 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
431 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
432 FString GetUnlockedDescription();
435 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
439 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
440 FString GetLockedImageURL();
443 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
444 FString GetUnlockedImageURL();
454 TArray<UPico_AchievementProgress*> AchievementProgressArray;
459 void InitParams(ppfAchievementProgressArrayHandle InppfAchievementProgressArrayHandle);
462 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Progress Array")
467 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
470 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
471 int32 GetTotalSize();
474 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
486 TArray<UPico_AchievementDefinition*> AchievementDefinitionArray;
492 void InitParams(ppfAchievementDefinitionArrayHandle InppfAchievementDefinitionArrayHandle);
495 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Definition Array")
499 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
502 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
503 int32 GetTotalSize();
506 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
PicoAchievementsInterface class.
Definition: Pico_Achievements.h:44
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:190
UPico_AchievementDefinitionArray class.
Definition: Pico_Achievements.h:481
UPico_AchievementDefinition class.
Definition: Pico_Achievements.h:371
UPico_AchievementProgressArray class.
Definition: Pico_Achievements.h:450
UPico_AchievementProgress class.
Definition: Pico_Achievements.h:314
UPico_AchievementUpdate class.
Definition: Pico_Achievements.h:291
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:561
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:570