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);
27class UPico_AchievementDefinition;
28class UPico_AchievementProgress;
29class UPico_AchievementProgressArray;
30class UPico_AchievementDefinitionArray;
31class UPico_AchievementUpdate;
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);
108 bool AddFields(
const FString& Name,
const FString& Fields,
const FString& ExtraData, FAddFields InAddFieldsCallback);
120 bool Unlock(
const FString& Name,
const FString& ExtraData, FUnlock InUnlockCallback);
134 bool GetAllDefinitions(int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
149 bool GetAllProgress(int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
162 bool GetDefinitionsByName(
const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
176 bool GetProgressByName(
const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
213 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Achievements")
214 static
void PicoAddCount(UObject* WorldContextObject, const FString& Name, const FString& Count, const FString& ExtraData, FAddCount InAddCountCallback);
226 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
227 static
void PicoAddFields(UObject* WorldContextObject, const FString& Name, const FString& Fields, const FString& ExtraData, FAddFields InAddFieldsCallback);
235 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
236 static
void PicoUnlock(UObject* WorldContextObject, const FString& Name, const FString& ExtraData, FUnlock InUnlockCallback);
245 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
246 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);
265 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
266 static
void PicoGetDefinitionsByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
275 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
276 static
void PicoGetProgressByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
289class ONLINESUBSYSTEMPICO_API UPico_AchievementUpdate : public UObject
294 void InitParams(ppfAchievementUpdateHandle ppfAchievementUpdateHandle);
297 FString Name = FString();
298 bool JustUnlocked =
false;
301 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Update")
304 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Update")
305 bool GetJustUnlocked();
308class ONLINESUBSYSTEMPICO_API UPico_AchievementProgress :
public UObject
314 void InitParams(ppfAchievementProgressHandle ppfAchievementProgressHandle);
317 FString Bitfield = FString();
319 bool IsUnlocked = false;
320 FString Name = FString();
322 unsigned long long UnlockTime = 0;
323 TArray<uint8> ExtraData;
326 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
327 FString GetBitfield();
329 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
332 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
333 bool GetIsUnlocked();
335 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
338 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
339 FString GetUnlockTime();
341 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
342 FDateTime GetUnlockDateTime();
344 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
347 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
348 TArray<uint8> GetExtraData();
350 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
351 FString GetExtraDataString();
354class ONLINESUBSYSTEMPICO_API UPico_AchievementDefinition : public UObject
360 void InitParams(ppfAchievementDefinition* ppfAchievementDefinitionHandle);
364 unsigned int BitfieldLength = 0;
365 FString Name = FString();
366 long long Target = 0;
367 FString Description = FString();
368 FString Title = FString();
369 bool IsArchived = false;
370 bool IsSecret = false;
372 FString UnlockedDescription = FString();
374 FString LockedImageURL = FString();
375 FString UnlockedImageURL = FString();
378 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
381 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
382 FString GetBitfieldLength();
384 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
387 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
390 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
391 FString GetDescription();
393 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
396 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
397 bool GetIsArchived();
399 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
402 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
405 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
406 FString GetUnlockedDescription();
408 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
411 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
412 FString GetLockedImageURL();
414 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
415 FString GetUnlockedImageURL();
419class ONLINESUBSYSTEMPICO_API UPico_AchievementProgressArray : public UObject
424 TArray<UPico_AchievementProgress*> AchievementProgressArray;
425 FString NextPageParam = FString();
430 void InitParams(ppfAchievementProgressArrayHandle InppfAchievementProgressArrayHandle);
432 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
433 UPico_AchievementProgress* GetElement(int32 Index);
435 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
436 FString GetNextPageParam();
438 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
441 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
442 int32 GetTotalSize();
444 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
449class ONLINESUBSYSTEMPICO_API UPico_AchievementDefinitionArray : public UObject
455 TArray<UPico_AchievementDefinition*> AchievementDefinitionArray;
456 FString NextPageParam = FString();
462 void InitParams(ppfAchievementDefinitionArrayHandle InppfAchievementDefinitionArrayHandle);
464 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
465 UPico_AchievementDefinition* GetElement(int32 Index);
467 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
468 FString GetNextPageParam();
470 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
473 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
474 int32 GetTotalSize();
476 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:196
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:573
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:582