6#include "CoreMinimal.h"
7#include "UObject/NoExportTypes.h"
8#include "PPF_Platform.h"
9#include "OnlineSubsystemPicoNames.h"
10#include "OnlineSubsystemPico.h"
11#include "Pico_Achievements.generated.h"
15DECLARE_LOG_CATEGORY_EXTERN(PicoAchievements, Log, All);
17class UPico_AchievementDefinition;
18class UPico_AchievementProgress;
19class UPico_AchievementProgressArray;
20class UPico_AchievementDefinitionArray;
21class UPico_AchievementUpdate;
26DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddCount,
bool, bIsError,
const FString&, ErrorMessage, UPico_AchievementUpdate*, AchievementUpdate);
27DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAddFields,
bool, bIsError,
const FString&, ErrorMessage, UPico_AchievementUpdate*, AchievementUpdate);
28DECLARE_DYNAMIC_DELEGATE_ThreeParams(FUnlock,
bool, bIsError,
const FString&, ErrorMessage, UPico_AchievementUpdate*, AchievementUpdate);
29DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllDefinitions,
bool, bIsError,
const FString&, ErrorMessage, UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
30DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAllProgress,
bool, bIsError,
const FString&, ErrorMessage, UPico_AchievementProgressArray*, AchievementProgressArray);
31DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetDefinitionsByName,
bool, bIsError,
const FString&, ErrorMessage, UPico_AchievementDefinitionArray*, AchievementDefinitionArray);
32DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetProgressByName,
bool, bIsError,
const FString&, ErrorMessage, UPico_AchievementProgressArray*, AchievementProgressArray);
49 FOnlineSubsystemPico& PicoSubsystem;
55 FAddCount AddCountDelegate;
56 FAddFields AddFieldsDelegate;
57 FUnlock UnlockDelegate;
58 FGetAllDefinitions GetAllDefinitionsDelegate;
59 FGetAllProgress GetAllProgressDelegate;
60 FGetDefinitionsByName GetDefinitionsByNameDelegate;
61 FGetProgressByName GetProgressByNameDelegate;
81 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);
110 bool Unlock(
const FString& Name,
const FString& ExtraData, FUnlock InUnlockCallback);
124 bool GetAllDefinitions(int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
139 bool GetAllProgress(int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
152 bool GetDefinitionsByName(
const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
166 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);
228 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
229 static
void PicoAddFields(UObject* WorldContextObject, const FString& Name, const FString& Fields, const FString& ExtraData, FAddFields InAddFieldsCallback);
243 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
244 static
void PicoUnlock(UObject* WorldContextObject, const FString& Name, const FString& ExtraData, FUnlock InUnlockCallback);
259 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
260 static
void PicoGetAllDefinitions(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllDefinitions InGetAllDefinitionsCallback);
276 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
277 static
void PicoGetAllProgress(UObject* WorldContextObject, int32 PageIndex, int32 PageSize, FGetAllProgress InGetAllProgressCallback);
291 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
292 static
void PicoGetDefinitionsByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetDefinitionsByName InGetDefinitionsByNameCallback);
307 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|Achievements")
308 static
void PicoGetProgressByName(UObject* WorldContextObject, const TArray<FString>& NameArray, FGetProgressByName InGetProgressByNameCallback);
321class ONLINESUBSYSTEMPICO_API UPico_AchievementUpdate : public UObject
326 void InitParams(ppfAchievementUpdateHandle ppfAchievementUpdateHandle);
329 FString Name = FString();
330 bool JustUnlocked =
false;
333 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Update")
336 UFUNCTION(BlueprintPure, Category =
"Pico Platform|Achievements|Achievement Update")
337 bool GetJustUnlocked();
340class ONLINESUBSYSTEMPICO_API UPico_AchievementProgress :
public UObject
346 void InitParams(ppfAchievementProgressHandle ppfAchievementProgressHandle);
349 FString Bitfield = FString();
351 bool IsUnlocked = false;
352 FString Name = FString();
354 unsigned long long UnlockTime = 0;
355 TArray<uint8> ExtraData;
358 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
359 FString GetBitfield();
361 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
364 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
365 bool GetIsUnlocked();
367 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
370 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
371 FString GetUnlockTime();
373 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
374 FDateTime GetUnlockDateTime();
376 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
379 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
380 TArray<uint8> GetExtraData();
382 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress")
383 FString GetExtraDataString();
386class ONLINESUBSYSTEMPICO_API UPico_AchievementDefinition : public UObject
392 void InitParams(ppfAchievementDefinition* ppfAchievementDefinitionHandle);
395 EAchievementType Type = EAchievementType::Unknown;
396 unsigned int BitfieldLength = 0;
397 FString Name = FString();
398 long long Target = 0;
399 FString Description = FString();
400 FString Title = FString();
401 bool IsArchived = false;
402 bool IsSecret = false;
404 FString UnlockedDescription = FString();
405 EAchievementWritePolicy WritePolicy = EAchievementWritePolicy::Unknown;
406 FString LockedImageURL = FString();
407 FString UnlockedImageURL = FString();
410 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
413 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
414 FString GetBitfieldLength();
416 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
419 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
420 EAchievementType GetType();
422 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
423 FString GetDescription();
425 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
428 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
429 bool GetIsArchived();
431 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
434 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
437 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
438 FString GetUnlockedDescription();
440 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
441 EAchievementWritePolicy GetWritePolicy();
443 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
444 FString GetLockedImageURL();
446 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition")
447 FString GetUnlockedImageURL();
451class ONLINESUBSYSTEMPICO_API UPico_AchievementProgressArray : public UObject
455 TArray<UPico_AchievementProgress*> AchievementProgressArray;
456 FString NextPageParam = FString();
460 void InitParams(ppfAchievementProgressArrayHandle InppfAchievementProgressArrayHandle);
462 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
463 UPico_AchievementProgress* GetElement(int32 Index);
465 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
466 FString GetNextPageParam();
468 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
471 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Progress Array")
476class ONLINESUBSYSTEMPICO_API UPico_AchievementDefinitionArray : public UObject
481 TArray<UPico_AchievementDefinition*> AchievementDefinitionArray;
482 FString NextPageParam = FString();
487 void InitParams(ppfAchievementDefinitionArrayHandle InppfAchievementDefinitionArrayHandle);
489 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
490 UPico_AchievementDefinition* GetElement(int32 Index);
492 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
493 FString GetNextPageParam();
495 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
498 UFUNCTION(BlueprintPure, Category = "Pico Platform|Achievements|Achievement Definition Array")
PicoAchievementsInterface class.
Definition: Pico_Achievements.h:46
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:186