PICO Unreal Platform SDK
OnlineSubsystemPicoNames.h
1// Copyright 2022 Pico Technology Co., Ltd.All rights reserved.
2// This plugin incorporates portions of the Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc.In the United States of America and elsewhere.
3// Unreal® Engine, Copyright 1998 – 2022, Epic Games, Inc.All rights reserved.
4
5#pragma once
6
7#include "CoreMinimal.h"
8#include "OnlineStats.h"
9#include "OnlineSubsystemPicoNames.generated.h"
10
11
12#ifndef PICO_SUBSYSTEM
13#define PICO_SUBSYSTEM FName(TEXT("Pico"))
14#endif
15class UPico_UserArray;
16
18
26UENUM(BlueprintType)
27enum class EUserPresenceStatus : uint8
28{
29 Unknow,
30 OnLine,
31 OffLine
32};
33
35UENUM(BlueprintType)
36enum class EUserGender : uint8
37{
38 Unknow,
39 Male,
40 Female
41};
42
44USTRUCT(BlueprintType, meta = (DisplayName = "OnlinePicoUserInfo"))
46{
47 GENERATED_USTRUCT_BODY()
48
49 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
50 FString UserId;
52 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
53 FString DisplayName;
55 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
56 EUserPresenceStatus UserPresenceStatus;
58 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
59 FString InviteToken;
61 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
62 FString ImageUrl;
64 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
65 FString SmallImageUrl;
67 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
68 FString PresencePackage;
70 UPROPERTY(BlueprintReadWrite, Category = "OnlinePicoUserInfo")
71 FString PresenceStr;
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")
89 EUserGender Gender;
90};
91
92/* ppf_LaunchType.h */
93
95UENUM(BlueprintType, meta = (DisplayName = "LaunchType"))
96enum class ELaunchType : uint8
97{
98 Unknown,
99 Normal,
100 Invite,
102 Deeplink
103};
104
105/* ppf_LaunchResult.h */
106
108UENUM(BlueprintType, meta = (DisplayName = "LaunchResult"))
109enum class ELaunchResult : uint8
110{
111 Unknown,
112 Success,
113 FailedRoomFull,
114 FailedGameAlreadyStarted,
115 FailedRoomNotFound,
116 FailedUserDeclined,
117 FailedOtherReason
118};
119
120/* ppf_LaunchDetails.h */
121
123USTRUCT(BlueprintType, meta = (DisplayName = "LaunchDetails"))
125{
126 GENERATED_USTRUCT_BODY()
127
128 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
129 FString DeeplinkMessage;
131 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
132 FString DestinationApiName;
134 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
135 FString LaunchSource;
137 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
138 FString LobbySessionID;
140 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
141 FString MatchSessionID;
143 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
144 FString Extra;
146 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
147 FString RoomID;
149 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
150 FString TrackingID;
152 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
153 ELaunchType LaunchType;
156 UPROPERTY(BlueprintReadWrite, Category = "ApplicationLifecycle")
157 UPico_UserArray* UserArray = nullptr;
159};
160
162UENUM(BlueprintType, meta = (DisplayName = "RoomType"))
163enum class ERoomType : uint8
164{
169};
170
172UENUM(BlueprintType, meta = (DisplayName = "RoomJoinPolicy"))
173enum class ERoomJoinPolicy : uint8
174{
181};
182
184UENUM(BlueprintType, meta = (DisplayName = "RoomJoinabilit"))
185enum class ERoomJoinabilit : uint8
186{
194};
195
197USTRUCT(BlueprintType, meta = (DisplayName = "PicoDestination"))
199{
200 GENERATED_USTRUCT_BODY()
201
202 UPROPERTY(BlueprintReadWrite, Category = "Destination")
203 FString ApiName;
205 UPROPERTY(BlueprintReadWrite, Category = "Destination")
206 FString DeepLinkMessage;
208 UPROPERTY(BlueprintReadWrite, Category = "Destination")
209 FString DisplayName;
210};
211
213USTRUCT(BlueprintType, meta = (DisplayName = "PicoApplicationInvite"))
215{
216 GENERATED_USTRUCT_BODY()
217
218 UPROPERTY(BlueprintReadWrite, Category = "Destination")
219 FPicoUserInfo Recipent;
221 UPROPERTY(BlueprintReadWrite, Category = "Destination")
222 FPicoDestination Destination;
224 UPROPERTY(BlueprintReadWrite, Category = "Destination")
225 FString ID;
227 UPROPERTY(BlueprintReadWrite, Category = "Destination")
228 bool bIsActive;
230 UPROPERTY(BlueprintReadWrite, Category = "Destination")
231 FString LobbySessionId;
233 UPROPERTY(BlueprintReadWrite, Category = "Destination")
234 FString MatchSessionId;
235};
236
237UENUM(BlueprintType)
238enum class EOnlineAsyncTaskStatePicoType : uint8
239{
240 NotStarted,
241 InProgress,
242 Done,
243 Failed
244};
245
247UENUM(BlueprintType)
249{
250 Success,
256};
257
259UENUM(BlueprintType)
261{
262 NoSession,
263 Creating,
264 Pending,
265 Starting,
266 InProgress,
267 Ending,
268 Ended,
270};
271
280USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSessionSettings"))
282{
283 GENERATED_USTRUCT_BODY()
284
285 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
286 int NumPublicConnections;
288 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
289 int NumPrivateConnections;
291 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
292 bool bShouldAdvertise;
294 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
295 bool bAllowInvites;
297 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
298 bool bUsesPresence;
300 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
301 bool bAllowJoinViaPresence;
303 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
304 bool bAllowJoinViaPresenceFriendsOnly;
306 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
307 int BuildUniqueId;
309 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
310 TArray<FString> KeyArray;
312 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSettings")
313 TArray<FString> ValueArray;
314};
315
317USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSession"))
319{
320 GENERATED_USTRUCT_BODY()
321
322 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
323 FString OwningUserId;
325 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
326 FString OwningUserName;
328 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
331 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
332 FString SessionInfoRoomID;
334 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
335 int32 NumOpenPrivateConnections;
337 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSession")
338 int32 NumOpenPublicConnections;
339};
341USTRUCT(BlueprintType, meta = (DisplayName = "PicoNamedOnlineSession"))
343{
344 GENERATED_USTRUCT_BODY()
345
346 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
347 FString SessionName;
349 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
350 int32 HostingPlayerNum;
352 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
353 bool bHosting;
355 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
356 FString LocalOwnerId;
358 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
359 TArray< FString > RegisteredPlayers;
361 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
364 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
365 FString OwningUserId;
367 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
368 FString OwningUserName;
370 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
373 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
374 FString SessionInfoRoomID;
376 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
377 int32 NumOpenPrivateConnections;
379 UPROPERTY(BlueprintReadWrite, Category = "PicoNamedOnlineSession")
380 int32 NumOpenPublicConnections;
381};
383USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSessionSearchResult"))
385{
386 GENERATED_USTRUCT_BODY()
387
388 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearchResult")
391 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearchResult")
392 int32 PingInMs;
393};
394
396USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineSessionSearch"))
398{
399 GENERATED_USTRUCT_BODY()
400
401 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
402 TArray<FPicoOnlineSessionSearchResult> SearchResults;
404 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
405 EOnlineAsyncTaskStatePicoType SearchState;
407 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
408 int32 MaxSearchResults;
410 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
411 TArray<FString> QuerySettingsKeyArray;
416 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
417 TArray<FString> QuerySettingsValueArray;
419 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
420 bool bIsLanQuery;
422 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
423 int32 PingBucketSize;
425 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
426 int32 PlatformHash;
428 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineSessionSearch")
429 float TimeoutInSeconds;
430};
431
433UENUM(BlueprintType)
435{
436 Empty,
437 Int32,
438 UInt32,
439 Int64,
440 UInt64,
441 Double,
442 String,
443 Float,
444 Blob,
445 Bool,
446 Json,
447 MAX
448};
449
451USTRUCT(BlueprintType, meta = (DisplayName = "FVariantDataPico"))
453{
454 GENERATED_USTRUCT_BODY()
455
456 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineStatsRow")
458
459 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineStatsRow")
460 FString Value;
461};
462
464USTRUCT(BlueprintType, meta = (DisplayName = "FPicoColumnMetaData"))
466{
467 GENERATED_USTRUCT_BODY()
468
469 UPROPERTY(BlueprintReadWrite, Category = "FPicoColumnMetaData")
470 FString ColumnName;
472 UPROPERTY(BlueprintReadWrite, Category = "FPicoColumnMetaData")
474};
475
477USTRUCT(BlueprintType, meta = (DisplayName = "FPicoOnlineStatsRow"))
479{
480 GENERATED_USTRUCT_BODY()
481
482 UPROPERTY(BlueprintReadWrite, Category = "FPicoOnlineStatsRow")
483 FString NickName;
485 UPROPERTY(BlueprintReadWrite, Category = "FPicoOnlineStatsRow")
486 FString PlayerId;
488 UPROPERTY(BlueprintReadWrite, Category = "FPicoOnlineStatsRow")
489 int32 Rank;
491 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineStatsRow")
492 TMap<FName, FVariantDataPico> Columns;
493};
494
496USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineLeaderboardRead"))
498{
499 GENERATED_USTRUCT_BODY()
500
501 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
502 FString LeaderboardName;
504 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
505 FString SortedColumn;
507 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
508 TArray<FPicoOnlineStatsRow> Rows;
510 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
511 EOnlineAsyncTaskStatePicoType ReadState;
513 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
514 TArray<FPicoColumnMetaData> ColumnMetadata;
516 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
517 int PageIndex;
519 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardRead")
520 int PageSize;
522};
523
525UENUM(BlueprintType)
527{
528 KeepBest,
529 Force
530};
531
533USTRUCT(BlueprintType, meta = (DisplayName = "PicoOnlineLeaderboardWrite"))
535{
536 GENERATED_USTRUCT_BODY()
537
538 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
541 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
542 TArray<FString> LeaderboardNames;
544 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
545 FString RatedStat;
547 UPROPERTY(BlueprintReadWrite, Category = "PicoOnlineLeaderboardWrite")
548 int32 ValueToWrite;
549};
550
552UENUM(BlueprintType)
553enum class ESportTarget : uint8
554{
555 None,
556 LoseFat,
557 KeepFit
558};
559
561UENUM(BlueprintType)
562enum class EAchievementType : uint8
563{
564 Unknown,
565 Simple,
566 Count,
567 Bitfield,
568};
570UENUM(BlueprintType)
571enum class EAchievementWritePolicy : uint8
572{
573 Unknown,
574 Client,
575 Server,
576};
577
579UENUM(BlueprintType)
581{
583 Succeed,
584 Failed,
585 Unkonw
586};
587
589UENUM(BlueprintType)
590enum class EShareMediaType : uint8
591{
592 Video,
593 Image,
594 None
595};
596
598UENUM(BlueprintType)
599enum class EShareAppTyp : uint8
600{
601 Douyin,
602 None
603};
604
605inline uint64 FStringTouint64(FString InStr)
606{
607 return FCString::Strtoui64(*InStr, NULL, 10);
608};
609
610inline FString uint64ToFString(uint64 Inuint64)
611{
612 return FString::Printf(TEXT("%llu"), Inuint64);
613};
614
615
617UENUM(BlueprintType)
618enum class EChallengeCreationType : uint8
619{
620 Unknown,
623};
624
626UENUM(BlueprintType)
627enum class EChallengeVisibility : uint8
628{
629 Unknown,
630 InviteOnly,
631 Public,
632 Private
633};
634
636UENUM(BlueprintType)
637enum class EChallengeViewerFilter : uint8 {
638 Unknown,
639 AllVisible,
641 Invited,
643};
644
646UENUM(BlueprintType)
647enum class ELeaderboardStartAt : uint8
648{
649 Top,
658 Unknown
659};
660
662UENUM(BlueprintType)
663enum class ELeaderboardFilterType : uint8
664{
665 None,
666 Friends,
667 Unknown,
668 UserIds
669};
670
672USTRUCT(BlueprintType, meta = (DisplayName = "PicoSupplementaryMetric"))
674{
675 GENERATED_USTRUCT_BODY()
676
677 UPROPERTY(BlueprintReadWrite, Category = "SupplementaryMetric")
678 FString ID;
680 UPROPERTY(BlueprintReadWrite, Category = "SupplementaryMetric")
681 FString Metric;
682};
683 // end of Struct
EUserPresenceStatus
User's current online status.
Definition: OnlineSubsystemPicoNames.h:28
ERoomType
The type of room you can create.
Definition: OnlineSubsystemPicoNames.h:164
EOnlineSessionStatePicoType
The state of the session.
Definition: OnlineSubsystemPicoNames.h:261
ELaunchType
App launch type.
Definition: OnlineSubsystemPicoNames.h:97
EPicoOnlineKeyValuePairDataType
The score type used in FOnlineLeaderboardPico.
Definition: OnlineSubsystemPicoNames.h:435
ELeaderboardStartAt
The type of sorting to use when getting leaderboard or challenge entries.
Definition: OnlineSubsystemPicoNames.h:648
EChallengeViewerFilter
The challenge viewer filter.
Definition: OnlineSubsystemPicoNames.h:637
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:37
EAchievementType
The type of the achievement.
Definition: OnlineSubsystemPicoNames.h:563
EAchievementWritePolicy
The write policy of the achievement.
Definition: OnlineSubsystemPicoNames.h:572
EChallengeCreationType
The creator of the challenge.
Definition: OnlineSubsystemPicoNames.h:619
EShareMediaType
Share media type.
Definition: OnlineSubsystemPicoNames.h:591
ERoomJoinabilit
The joinability of a room.
Definition: OnlineSubsystemPicoNames.h:186
EAssetFileDownloadCompleteStatus
The status of the file in the file download process.
Definition: OnlineSubsystemPicoNames.h:581
ELeaderboardUpdateMethodPicoType
The update method type used in FOnlineLeaderboardPico.
Definition: OnlineSubsystemPicoNames.h:527
EShareAppTyp
Share to app type.
Definition: OnlineSubsystemPicoNames.h:600
ELaunchResult
App launch result.
Definition: OnlineSubsystemPicoNames.h:110
ESportTarget
User's exercise goals.
Definition: OnlineSubsystemPicoNames.h:554
EOnJoinSessionCompleteResultPicoType
Error message for joining a session.
Definition: OnlineSubsystemPicoNames.h:249
ERoomJoinPolicy
The join policy type of a room.
Definition: OnlineSubsystemPicoNames.h:174
EChallengeVisibility
The visibility type of the challenge.
Definition: OnlineSubsystemPicoNames.h:628
ELeaderboardFilterType
The type of filter to use when using leaderboards or challenges.
Definition: OnlineSubsystemPicoNames.h:664
App launch details when succeeded.
Definition: OnlineSubsystemPicoNames.h:125
The app's invite information.
Definition: OnlineSubsystemPicoNames.h:215
Column metadata for this leaderboard.
Definition: OnlineSubsystemPicoNames.h:466
The destination information.
Definition: OnlineSubsystemPicoNames.h:199
Holds the per session information for named sessions. Similar to FNamedOnlineSession.
Definition: OnlineSubsystemPicoNames.h:343
Interface for reading data from a leaderboard service. Similar to FOnlineLeaderboardRead.
Definition: OnlineSubsystemPicoNames.h:498
Interface for writing data to a leaderboard. Similar to FOnlineLeaderboardWrite.
Definition: OnlineSubsystemPicoNames.h:535
Basic session information. Similar to FOnlineSession.
Definition: OnlineSubsystemPicoNames.h:319
Representation of a single search result. Similar to FOnlineSessionSearch.
Definition: OnlineSubsystemPicoNames.h:398
Representation of a single search result. Similar to FOnlineSessionSearchResult.
Definition: OnlineSubsystemPicoNames.h:385
The settings of a session. Similar to FOnlineSessionSettings.
Definition: OnlineSubsystemPicoNames.h:282
Representation of a single row in a retrieved leaderboard. Similar to FOnlineStatsRow.
Definition: OnlineSubsystemPicoNames.h:479
Supplementary metrics for leaderboards.
Definition: OnlineSubsystemPicoNames.h:674
User's information.
Definition: OnlineSubsystemPicoNames.h:46
Container for storing data of variable type. Similar to FVariantData.
Definition: OnlineSubsystemPicoNames.h:453