5#include "CoreMinimal.h"
6#include "OnlineStats.h"
7#include "OnlineSubsystemPicoNames.generated.h"
11#define PICO_SUBSYSTEM FName(TEXT("Pico"))
44USTRUCT(BlueprintType, meta = (DisplayName =
"OnlinePicoUserInfo"))
47 GENERATED_USTRUCT_BODY()
49 UPROPERTY(BlueprintReadWrite, Category =
"OnlinePicoUserInfo")
52 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
55 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
58 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
61 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
64 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
65 FString SmallImageUrl;
67 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
68 FString PresencePackage;
70 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
73 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
74 FString PresenceDeeplinkMessage;
76 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
77 FString PresenceDestinationApiName;
79 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
80 FString PresenceLobbySessionId;
82 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
83 FString PresenceMatchSessionId;
85 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
86 FString PresenceExtra;
88 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
95UENUM(BlueprintType, meta = (DisplayName = "LaunchType"))
108UENUM(BlueprintType, meta = (DisplayName =
"LaunchResult"))
114 FailedGameAlreadyStarted,
123USTRUCT(BlueprintType, meta = (DisplayName =
"LaunchDetails"))
126 GENERATED_USTRUCT_BODY()
128 UPROPERTY(BlueprintReadWrite, Category =
"ApplicationLifecycle")
129 FString DeeplinkMessage;
131 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
132 FString DestinationApiName;
134 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
135 FString LobbySessionID;
137 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
138 FString MatchSessionID;
140 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
143 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
146 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
149 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
152 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
158UENUM(BlueprintType, meta = (DisplayName = "RoomType"))
168UENUM(BlueprintType, meta = (DisplayName =
"RoomJoinPolicy"))
180UENUM(BlueprintType, meta = (DisplayName =
"RoomJoinabilit"))
194USTRUCT(BlueprintType, meta = (DisplayName =
"PicoDestination"))
197 GENERATED_USTRUCT_BODY()
199 UPROPERTY(BlueprintReadWrite, Category =
"Destination")
202 UPROPERTY(BlueprintReadWrite, Category = "Destination")
203 FString DeepLinkMessage;
205 UPROPERTY(BlueprintReadWrite, Category = "Destination")
211USTRUCT(BlueprintType, meta = (DisplayName = "PicoApplicationInvite"))
214 GENERATED_USTRUCT_BODY()
216 UPROPERTY(BlueprintReadWrite, Category =
"Destination")
219 UPROPERTY(BlueprintReadWrite, Category = "Destination")
222 UPROPERTY(BlueprintReadWrite, Category = "Destination")
225 UPROPERTY(BlueprintReadWrite, Category = "Destination")
228 UPROPERTY(BlueprintReadWrite, Category = "Destination")
229 FString LobbySessionId;
231 UPROPERTY(BlueprintReadWrite, Category = "Destination")
232 FString MatchSessionId;
236enum class EOnlineAsyncTaskStatePicoType : uint8
278USTRUCT(BlueprintType, meta = (DisplayName =
"PicoOnlineSessionSettings"))
281 GENERATED_USTRUCT_BODY()
283 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSessionSettings")
284 int NumPublicConnections;
286 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
287 int NumPrivateConnections;
289 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
290 bool bShouldAdvertise;
292 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
295 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
298 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
299 bool bAllowJoinViaPresence;
301 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
302 bool bAllowJoinViaPresenceFriendsOnly;
304 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
307 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
308 TArray<FString> KeyArray;
310 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
311 TArray<FString> ValueArray;
315USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSession"))
318 GENERATED_USTRUCT_BODY()
320 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSession")
321 FString OwningUserId;
323 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
324 FString OwningUserName;
326 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
329 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
330 FString SessionInfoRoomID;
332 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
333 int32 NumOpenPrivateConnections;
335 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
336 int32 NumOpenPublicConnections;
339USTRUCT(BlueprintType, meta = (DisplayName = "PicoNamedOnlineSession"))
342 GENERATED_USTRUCT_BODY()
344 UPROPERTY(BlueprintReadWrite, Category =
"PicoNamedOnlineSession")
347 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
348 int32 HostingPlayerNum;
350 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
353 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
354 FString LocalOwnerId;
356 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
357 TArray< FString > RegisteredPlayers;
359 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
362 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
363 FString OwningUserId;
365 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
366 FString OwningUserName;
368 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
371 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
372 FString SessionInfoRoomID;
374 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
375 int32 NumOpenPrivateConnections;
377 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
378 int32 NumOpenPublicConnections;
381USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSessionSearchResult"))
384 GENERATED_USTRUCT_BODY()
386 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSessionSearchResult")
389 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearchResult")
394USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSessionSearch"))
397 GENERATED_USTRUCT_BODY()
399 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineSessionSearch")
402 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
403 EOnlineAsyncTaskStatePicoType SearchState;
405 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
406 int32 MaxSearchResults;
408 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
409 TArray<FString> QuerySettingsKeyArray;
414 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
415 TArray<FString> QuerySettingsValueArray;
417 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
420 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
421 int32 PingBucketSize;
423 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
426 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
427 float TimeoutInSeconds;
449USTRUCT(BlueprintType, meta = (DisplayName =
"FVariantDataPico"))
452 GENERATED_USTRUCT_BODY()
454 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineStatsRow")
457 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineStatsRow")
462USTRUCT(BlueprintType, meta = (DisplayName =
"FPicoColumnMetaData"))
465 GENERATED_USTRUCT_BODY()
467 UPROPERTY(BlueprintReadWrite, Category =
"FPicoColumnMetaData")
478 GENERATED_USTRUCT_BODY()
480 UPROPERTY(BlueprintReadWrite, Category =
"FPicoOnlineStatsRow")
489 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineStatsRow")
494USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineLeaderboardRead"))
497 GENERATED_USTRUCT_BODY()
499 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineLeaderboardRead")
500 FString LeaderboardName;
502 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
503 FString SortedColumn;
505 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
508 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
509 EOnlineAsyncTaskStatePicoType ReadState;
511 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
514 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
517 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
531USTRUCT(BlueprintType, meta = (DisplayName =
"PicoOnlineLeaderboardWrite"))
534 GENERATED_USTRUCT_BODY()
536 UPROPERTY(BlueprintReadWrite, Category =
"PicoOnlineLeaderboardWrite")
539 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
540 TArray<FString> LeaderboardNames;
542 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
545 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
603inline uint64 FStringTouint64(FString InStr)
605 return FCString::Strtoui64(*InStr, NULL, 10);
608inline FString uint64ToFString(uint64 Inuint64)
610 return FString::Printf(TEXT(
"%llu"), Inuint64);
670USTRUCT(BlueprintType, meta = (DisplayName =
"PicoSupplementaryMetric"))
673 GENERATED_USTRUCT_BODY()
675 UPROPERTY(BlueprintReadWrite, Category =
"SupplementaryMetric")
678 UPROPERTY(BlueprintReadWrite, Category = "SupplementaryMetric")
762USTRUCT(BlueprintType)
767 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString RoomId;
768 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString
RoomName;
769 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString RoomPassword;
770 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") int32 MaxUserResults;
771 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
bool bExcludeRecentlyMet;
772 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
EUserOrdering Ordering;
773 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
ETimeWindow TimeWindow;
774 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options")
bool bTurnOffUpdates;
775 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString DataStoreKey;
776 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Room|Room Options") FString DataStoreValue;
788USTRUCT(BlueprintType)
793 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") int32 RoomMaxUsers;
794 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options")
ERoomJoinPolicy RoomJoinPolicy;
795 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options")
bool bEnqueueIsDebug;
796 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") FString DataStoreKey;
797 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") FString DataStoreValue;
798 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") FString EnqueueQueryKey;
799 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") TMap<FString, int> EnqueueDataSettingsInt;
800 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") TMap<FString, float> EnqueueDataSettingsFloat;
801 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"OnlinePico|Matchmaking|Matchmaking Options") TMap<FString, FString> EnqueueDataSettingsString;
820 FOnlineKeyValuePairs<FString, FVariantData> PicoProperties;
821 void SetPicoIntStat(
const FString& StatName, int32 Value)
823 FVariantData* Stat = PicoProperties.Find(StatName);;
824 if (Stat != NULL && Stat->GetType() == EOnlineKeyValuePairDataType::Int32)
827 Stat->SetValue(Value);
831 FVariantData NewValue(Value);
832 PicoProperties.Add(StatName, NewValue);
837typedef TSharedRef<FOnlineAchievementsWritePico, ESPMode::ThreadSafe> FOnlineAchievementsWritePicoRef;
838typedef TSharedPtr<FOnlineAchievementsWritePico, ESPMode::ThreadSafe> FOnlineAchievementsWritePicoPtr;
846 TArray<FString> PicoLeaderboardNames;
849 for (
const auto& LeaderboardName : InLeaderboardNames)
851 PicoLeaderboardNames.Add(LeaderboardName);
865 FString PicoLeaderboardName;
870 PicoLeaderboardName = InLeaderboardName;
872 PicoPageIndex = PageIndex;
873 PicoPageSize = PageSize;
Used to write achievements progress or unlock achievements.
Definition: OnlineSubsystemPicoNames.h:814
Used to read leaderboards data.
Definition: OnlineSubsystemPicoNames.h:863
Used to write leaderboards data.
Definition: OnlineSubsystemPicoNames.h:843
UPico_UserArray class.
Definition: Pico_User.h:539
EUserOrdering
User ordering.
Definition: OnlineSubsystemPicoNames.h:745
EUserPresenceStatus
User's current online status.
Definition: OnlineSubsystemPicoNames.h:26
ERoomType
The type of room you can create.
Definition: OnlineSubsystemPicoNames.h:160
EOnlineSessionStatePicoType
The state of the session.
Definition: OnlineSubsystemPicoNames.h:259
ELaunchType
App launch type.
Definition: OnlineSubsystemPicoNames.h:97
EPicoOnlineKeyValuePairDataType
The score type used in FOnlineLeaderboardPico.
Definition: OnlineSubsystemPicoNames.h:433
EEntitlementStatus
The subscription entitlement status type.
Definition: OnlineSubsystemPicoNames.h:722
ELeaderboardStartAt
The type of sorting to use when getting leaderboard or challenge entries.
Definition: OnlineSubsystemPicoNames.h:646
EChallengeViewerFilter
The challenge viewer filter.
Definition: OnlineSubsystemPicoNames.h:635
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:36
EDiscountType
Discount type.
Definition: OnlineSubsystemPicoNames.h:711
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:561
ECancelReason
The subscription entitlement cancel reason type.
Definition: OnlineSubsystemPicoNames.h:735
ERoomMembershipLockStatus
Room membership lock status.
Definition: OnlineSubsystemPicoNames.h:782
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:570
EChallengeCreationType
The creator of the challenge.
Definition: OnlineSubsystemPicoNames.h:617
EShareMediaType
Share media type.
Definition: OnlineSubsystemPicoNames.h:589
ERoomJoinabilit
The joinability of a room.
Definition: OnlineSubsystemPicoNames.h:182
EAssetFileDownloadCompleteStatus
The status of the file in the file download process.
Definition: OnlineSubsystemPicoNames.h:579
EPeriodType
Subscription period type.
Definition: OnlineSubsystemPicoNames.h:696
ELeaderboardUpdateMethodPicoType
The update method type used in FOnlineLeaderboardPico.
Definition: OnlineSubsystemPicoNames.h:525
EAddonsType
Add-on type.
Definition: OnlineSubsystemPicoNames.h:685
EShareAppTyp
Share to app type.
Definition: OnlineSubsystemPicoNames.h:598
ELaunchResult
App launch result.
Definition: OnlineSubsystemPicoNames.h:110
ESportTarget
User's exercise goals.
Definition: OnlineSubsystemPicoNames.h:552
EUserRelationType
User relation type.
Definition: OnlineSubsystemPicoNames.h:880
ESensitiveProposal
Sensitive proposal type.
Definition: OnlineSubsystemPicoNames.h:903
EOnJoinSessionCompleteResultPicoType
Error message for joining a session.
Definition: OnlineSubsystemPicoNames.h:247
ETimeWindow
Time window used in room options.
Definition: OnlineSubsystemPicoNames.h:753
ERoomJoinPolicy
The join policy type of a room.
Definition: OnlineSubsystemPicoNames.h:170
EChallengeVisibility
The visibility type of the challenge.
Definition: OnlineSubsystemPicoNames.h:626
ELeaderboardFilterType
The type of filter to use when using leaderboards or challenges.
Definition: OnlineSubsystemPicoNames.h:662
EDetectSensitiveScene
Detect sensitive scene type.
Definition: OnlineSubsystemPicoNames.h:893
EMatchmakingStatApproach
Matchmaking stat approach.
Definition: OnlineSubsystemPicoNames.h:806
@ NoMainApplicationInterest
@ JoinabilityPolicyPrevents
@ CouldNotRetrieveAddress
@ JoinPolicyFriendsOfMembers
@ JoinPolicyFriendsOfOwner
App launch details when succeeded.
Definition: OnlineSubsystemPicoNames.h:125
The app's invite information.
Definition: OnlineSubsystemPicoNames.h:213
The destination information.
Definition: OnlineSubsystemPicoNames.h:196
Matchmaking options.
Definition: OnlineSubsystemPicoNames.h:790
Holds the per session information for named sessions. Similar to FNamedOnlineSession.
Definition: OnlineSubsystemPicoNames.h:341
Interface for reading data from a leaderboard service. Similar to FOnlineLeaderboardRead.
Definition: OnlineSubsystemPicoNames.h:496
Interface for writing data to a leaderboard. Similar to FOnlineLeaderboardWrite.
Definition: OnlineSubsystemPicoNames.h:533
Basic session information. Similar to FOnlineSession.
Definition: OnlineSubsystemPicoNames.h:317
Representation of a single search result. Similar to FOnlineSessionSearch.
Definition: OnlineSubsystemPicoNames.h:396
Representation of a single search result. Similar to FOnlineSessionSearchResult.
Definition: OnlineSubsystemPicoNames.h:383
The settings of a session. Similar to FOnlineSessionSettings.
Definition: OnlineSubsystemPicoNames.h:280
Representation of a single row in a retrieved leaderboard. Similar to FOnlineStatsRow.
Definition: OnlineSubsystemPicoNames.h:477
Room options.
Definition: OnlineSubsystemPicoNames.h:764
Supplementary metrics for leaderboards.
Definition: OnlineSubsystemPicoNames.h:672
User's information.
Definition: OnlineSubsystemPicoNames.h:46
Container for storing data of variable type. Similar to FVariantData.
Definition: OnlineSubsystemPicoNames.h:451