17#include "CoreMinimal.h"
18#include "OnlineStats.h"
19#include "OnlineSubsystemPicoNames.generated.h"
23#define PICO_SUBSYSTEM FName(TEXT("Pico"))
56USTRUCT(BlueprintType, meta = (DisplayName =
"OnlinePicoUserInfo"))
59 GENERATED_USTRUCT_BODY()
61 UPROPERTY(BlueprintReadWrite, Category =
"OnlinePicoUserInfo")
64 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
67 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
70 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
73 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
76 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
77 FString SmallImageUrl;
79 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
80 FString PresencePackage;
82 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
85 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
86 FString PresenceDeeplinkMessage;
88 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
89 FString PresenceDestinationApiName;
91 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
92 FString PresenceLobbySessionId;
94 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
95 FString PresenceMatchSessionId;
97 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
98 FString PresenceExtra;
100 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
107UENUM(BlueprintType, meta = (DisplayName = "LaunchType"))
120UENUM(BlueprintType, meta = (DisplayName =
"LaunchResult"))
126 FailedGameAlreadyStarted,
135USTRUCT(BlueprintType, meta = (DisplayName =
"LaunchDetails"))
138 GENERATED_USTRUCT_BODY()
140 UPROPERTY(BlueprintReadWrite, Category =
"ApplicationLifecycle")
141 FString DeeplinkMessage;
143 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
144 FString DestinationApiName;
146 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
147 FString LobbySessionID;
149 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
150 FString MatchSessionID;
152 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
155 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
158 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
161 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
164 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
170UENUM(BlueprintType, meta = (DisplayName = "RoomType"))
180UENUM(BlueprintType, meta = (DisplayName =
"RoomJoinPolicy"))
192UENUM(BlueprintType, meta = (DisplayName =
"RoomJoinabilit"))
206USTRUCT(BlueprintType, meta = (DisplayName =
"PicoDestination"))
209 GENERATED_USTRUCT_BODY()
211 UPROPERTY(BlueprintReadWrite, Category =
"Destination")
214 UPROPERTY(BlueprintReadWrite, Category = "Destination")
215 FString DeepLinkMessage;
217 UPROPERTY(BlueprintReadWrite, Category = "Destination")
223USTRUCT(BlueprintType, meta = (DisplayName = "PicoApplicationInvite"))
226 GENERATED_USTRUCT_BODY()
228 UPROPERTY(BlueprintReadWrite, Category =
"Destination")
231 UPROPERTY(BlueprintReadWrite, Category = "Destination")
234 UPROPERTY(BlueprintReadWrite, Category = "Destination")
237 UPROPERTY(BlueprintReadWrite, Category = "Destination")
240 UPROPERTY(BlueprintReadWrite, Category = "Destination")
241 FString LobbySessionId;
243 UPROPERTY(BlueprintReadWrite, Category = "Destination")
244 FString MatchSessionId;
248enum class EOnlineAsyncTaskStatePicoType : uint8
290USTRUCT(BlueprintType, meta = (DisplayName =
"PicoOnlineSessionSettings"))
293 GENERATED_USTRUCT_BODY()
295 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSessionSettings")
296 int NumPublicConnections;
298 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
299 int NumPrivateConnections;
301 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
302 bool bShouldAdvertise;
304 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
307 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
310 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
311 bool bAllowJoinViaPresence;
313 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
314 bool bAllowJoinViaPresenceFriendsOnly;
316 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
319 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
320 TArray<FString> KeyArray;
322 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
323 TArray<FString> ValueArray;
327USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSession"))
330 GENERATED_USTRUCT_BODY()
332 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSession")
333 FString OwningUserId;
335 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
336 FString OwningUserName;
338 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
341 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
342 FString SessionInfoRoomID;
344 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
345 int32 NumOpenPrivateConnections;
347 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
348 int32 NumOpenPublicConnections;
351USTRUCT(BlueprintType, meta = (DisplayName = "PicoNamedOnlineSession"))
354 GENERATED_USTRUCT_BODY()
356 UPROPERTY(BlueprintReadWrite, Category =
"PicoNamedOnlineSession")
359 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
360 int32 HostingPlayerNum;
362 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
365 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
366 FString LocalOwnerId;
368 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
369 TArray< FString > RegisteredPlayers;
371 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
374 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
375 FString OwningUserId;
377 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
378 FString OwningUserName;
380 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
383 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
384 FString SessionInfoRoomID;
386 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
387 int32 NumOpenPrivateConnections;
389 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
390 int32 NumOpenPublicConnections;
393USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSessionSearchResult"))
396 GENERATED_USTRUCT_BODY()
398 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSessionSearchResult")
401 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearchResult")
406USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSessionSearch"))
409 GENERATED_USTRUCT_BODY()
411 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSessionSearch")
414 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
415 EOnlineAsyncTaskStatePicoType SearchState;
417 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
418 int32 MaxSearchResults;
420 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
421 TArray<FString> QuerySettingsKeyArray;
426 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
427 TArray<FString> QuerySettingsValueArray;
429 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
432 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
433 int32 PingBucketSize;
435 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
438 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
439 float TimeoutInSeconds;
461USTRUCT(BlueprintType, meta = (DisplayName =
"FVariantDataPico"))
464 GENERATED_USTRUCT_BODY()
466 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineStatsRow")
469 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineStatsRow")
474USTRUCT(BlueprintType, meta = (DisplayName =
"FPicoColumnMetaData"))
477 GENERATED_USTRUCT_BODY()
479 UPROPERTY(BlueprintReadWrite, Category =
"FPicoColumnMetaData")
490 GENERATED_USTRUCT_BODY()
492 UPROPERTY(BlueprintReadWrite, Category =
"FPicoOnlineStatsRow")
501 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineStatsRow")
506USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineLeaderboardRead"))
509 GENERATED_USTRUCT_BODY()
511 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineLeaderboardRead")
512 FString LeaderboardName;
514 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
515 FString SortedColumn;
517 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
520 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
521 EOnlineAsyncTaskStatePicoType ReadState;
523 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
526 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
529 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
543USTRUCT(BlueprintType, meta = (DisplayName =
"PicoOnlineLeaderboardWrite"))
546 GENERATED_USTRUCT_BODY()
548 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineLeaderboardWrite")
551 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
552 TArray<FString> LeaderboardNames;
554 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
557 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
615inline uint64 FStringTouint64(FString InStr)
617 return FCString::Strtoui64(*InStr, NULL, 10);
620inline FString uint64ToFString(uint64 Inuint64)
622 return FString::Printf(TEXT(
"%llu"), Inuint64);
682USTRUCT(BlueprintType, meta = (DisplayName =
"PicoSupplementaryMetric"))
685 GENERATED_USTRUCT_BODY()
687 UPROPERTY(BlueprintReadWrite, Category =
"SupplementaryMetric")
690 UPROPERTY(BlueprintReadWrite, Category = "SupplementaryMetric")
751USTRUCT(BlueprintType)
756 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString RoomId;
757 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") int32 MaxUserResults;
758 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
bool bExcludeRecentlyMet;
759 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
EUserOrdering Ordering;
760 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
ETimeWindow TimeWindow;
761 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
bool bTurnOffUpdates;
762 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString DataStoreKey;
763 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString DataStoreValue;
775USTRUCT(BlueprintType)
780 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") int32 RoomMaxUsers;
781 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options")
ERoomJoinPolicy RoomJoinPolicy;
782 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options")
bool bEnqueueIsDebug;
783 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") FString DataStoreKey;
784 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") FString DataStoreValue;
785 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") FString EnqueueQueryKey;
786 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") TMap<FString, int> EnqueueDataSettingsInt;
787 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") TMap<FString, float> EnqueueDataSettingsFloat;
788 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") TMap<FString, FString> EnqueueDataSettingsString;
807 FOnlineKeyValuePairs<FString, FVariantData> PicoProperties;
808 void SetPicoIntStat(
const FString& StatName, int32 Value)
810 FVariantData* Stat = PicoProperties.Find(StatName);;
811 if (Stat != NULL && Stat->GetType() == EOnlineKeyValuePairDataType::Int32)
814 Stat->SetValue(Value);
818 FVariantData NewValue(Value);
819 PicoProperties.Add(StatName, NewValue);
824typedef TSharedRef<FOnlineAchievementsWritePico, ESPMode::ThreadSafe> FOnlineAchievementsWritePicoRef;
825typedef TSharedPtr<FOnlineAchievementsWritePico, ESPMode::ThreadSafe> FOnlineAchievementsWritePicoPtr;
833 TArray<FString> PicoLeaderboardNames;
836 for (
const auto& LeaderboardName : InLeaderboardNames)
838 PicoLeaderboardNames.Add(LeaderboardName);
852 FString PicoLeaderboardName;
857 PicoLeaderboardName = InLeaderboardName;
859 PicoPageIndex = PageIndex;
860 PicoPageSize = PageSize;
Used to write achievements progress or unlock achievements.
Definition: OnlineSubsystemPicoNames.h:801
Used to read leaderboards data.
Definition: OnlineSubsystemPicoNames.h:850
Used to write leaderboards data.
Definition: OnlineSubsystemPicoNames.h:830
UPico_UserArray class.
Definition: Pico_User.h:510
EUserOrdering
User ordering.
Definition: OnlineSubsystemPicoNames.h:734
EUserPresenceStatus
User's current online status.
Definition: OnlineSubsystemPicoNames.h:38
ERoomType
The type of room you can create.
Definition: OnlineSubsystemPicoNames.h:172
EOnlineSessionStatePicoType
The state of the session.
Definition: OnlineSubsystemPicoNames.h:271
ELaunchType
App launch type.
Definition: OnlineSubsystemPicoNames.h:109
EPicoOnlineKeyValuePairDataType
The score type used in FOnlineLeaderboardPico.
Definition: OnlineSubsystemPicoNames.h:445
ELeaderboardStartAt
The type of sorting to use when getting leaderboard or challenge entries.
Definition: OnlineSubsystemPicoNames.h:658
EChallengeViewerFilter
The challenge viewer filter.
Definition: OnlineSubsystemPicoNames.h:647
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:48
EDiscountType
Discount type.
Definition: OnlineSubsystemPicoNames.h:723
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:573
ERoomMembershipLockStatus
Room membership lock status.
Definition: OnlineSubsystemPicoNames.h:769
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:582
EChallengeCreationType
The creator of the challenge.
Definition: OnlineSubsystemPicoNames.h:629
EShareMediaType
Share media type.
Definition: OnlineSubsystemPicoNames.h:601
ERoomJoinabilit
The joinability of a room.
Definition: OnlineSubsystemPicoNames.h:194
EAssetFileDownloadCompleteStatus
The status of the file in the file download process.
Definition: OnlineSubsystemPicoNames.h:591
EPeriodType
Subscription period type.
Definition: OnlineSubsystemPicoNames.h:708
ELeaderboardUpdateMethodPicoType
The update method type used in FOnlineLeaderboardPico.
Definition: OnlineSubsystemPicoNames.h:537
EAddonsType
Add-on type.
Definition: OnlineSubsystemPicoNames.h:697
EShareAppTyp
Share to app type.
Definition: OnlineSubsystemPicoNames.h:610
ELaunchResult
App launch result.
Definition: OnlineSubsystemPicoNames.h:122
ESportTarget
User's exercise goals.
Definition: OnlineSubsystemPicoNames.h:564
EUserRelationType
User relation type.
Definition: OnlineSubsystemPicoNames.h:867
EOnJoinSessionCompleteResultPicoType
Error message for joining a session.
Definition: OnlineSubsystemPicoNames.h:259
ETimeWindow
Time window used in room options.
Definition: OnlineSubsystemPicoNames.h:742
ERoomJoinPolicy
The join policy type of a room.
Definition: OnlineSubsystemPicoNames.h:182
EChallengeVisibility
The visibility type of the challenge.
Definition: OnlineSubsystemPicoNames.h:638
ELeaderboardFilterType
The type of filter to use when using leaderboards or challenges.
Definition: OnlineSubsystemPicoNames.h:674
EMatchmakingStatApproach
Matchmaking stat approach.
Definition: OnlineSubsystemPicoNames.h:793
@ JoinabilityPolicyPrevents
@ CouldNotRetrieveAddress
@ JoinPolicyFriendsOfMembers
@ JoinPolicyFriendsOfOwner
App launch details when succeeded.
Definition: OnlineSubsystemPicoNames.h:137
The app's invite information.
Definition: OnlineSubsystemPicoNames.h:225
The destination information.
Definition: OnlineSubsystemPicoNames.h:208
Matchmaking options.
Definition: OnlineSubsystemPicoNames.h:777
Holds the per session information for named sessions. Similar to FNamedOnlineSession.
Definition: OnlineSubsystemPicoNames.h:353
Interface for reading data from a leaderboard service. Similar to FOnlineLeaderboardRead.
Definition: OnlineSubsystemPicoNames.h:508
Interface for writing data to a leaderboard. Similar to FOnlineLeaderboardWrite.
Definition: OnlineSubsystemPicoNames.h:545
Basic session information. Similar to FOnlineSession.
Definition: OnlineSubsystemPicoNames.h:329
Representation of a single search result. Similar to FOnlineSessionSearch.
Definition: OnlineSubsystemPicoNames.h:408
Representation of a single search result. Similar to FOnlineSessionSearchResult.
Definition: OnlineSubsystemPicoNames.h:395
The settings of a session. Similar to FOnlineSessionSettings.
Definition: OnlineSubsystemPicoNames.h:292
Representation of a single row in a retrieved leaderboard. Similar to FOnlineStatsRow.
Definition: OnlineSubsystemPicoNames.h:489
Room options.
Definition: OnlineSubsystemPicoNames.h:753
Supplementary metrics for leaderboards.
Definition: OnlineSubsystemPicoNames.h:684
User's information.
Definition: OnlineSubsystemPicoNames.h:58
Container for storing data of variable type. Similar to FVariantData.
Definition: OnlineSubsystemPicoNames.h:463