7#include "CoreMinimal.h"
8#include "Kismet/BlueprintFunctionLibrary.h"
9#include "OnlineSubsystemPicoManager.h"
10#include "RTCPicoUserInterface.h"
11#include "OnlineSubsystem.h"
12#include "OnlineSessionSettings.h"
13#include "Net/OnlineBlueprintCallProxyBase.h"
14#include "OnlinePicoFunctionLibrary.generated.h"
16DECLARE_DYNAMIC_DELEGATE_OneParam(FOnlinePicoVerifyAppDelegate,
const int32&, code);
28 static UOnlineSubsystemPicoManager* PicoSubsystemManager;
49 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Identity")
50 static void PicoLogin(UObject* WorldContextObject, int32 LocalUserNum,
const FString& UserId,
const FString& InToken,
const FString& InType, FOnlineManagerLoginCompleteDelegate InLoginComleteDelegate);
55 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Identity")
56 static FString PicoGetNickName(UObject* WorldContextObject, int32 LocalUserNum);
58 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Identity")
59 static UPico_User* GetLoginPicoUser(UObject* WorldContextObject, int32 LocalUserNum);
77 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Friend")
78 static void PicoReadFriendList(UObject* WorldContextObject, int32 LocalUserNum,
const FString& ListName, FOnlineManagerReadFriendListDelegate InReadFriendListDelegate);
86 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Friend")
87 static void PicoGetFriendList(UObject* WorldContextObject, int32 LocalUserNum,
const FString& ListName, TArray<FPicoUserInfo> &OutFriends);
97 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Friend")
98 static FPicoUserInfo PicoGetFriend(UObject* WorldContextObject, int32 LocalUserNum,
const FString& FriendId,
const FString& ListName);
118 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
119 static void PicoRtcGetToken(UObject* WorldContextObject,
const FString& UserId,
const FString& RoomId,
int Ttl,
int InValue, FOnlineManagerRtcGetTokenDelegate InRtcGetTokenDelegate);
127 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
128 static ERtcEngineInitResult PicoGetRtcEngineInit(UObject* WorldContextObject);
158 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
159 static int PicoRtcJoinRoom(UObject* WorldContextObject,
const FString& RoomId,
const FString& UserId,
const FString& Token,
const FString& UserExtra, ERtcRoomProfileType InRoomProfileType,
bool bIsAutoSubscribeAudio);
171 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
172 static int RtcDestroyRoom(UObject* WorldContextObject,
const FString& RoomId);
182 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
183 static void RtcEnableAudioPropertiesReport(UObject* WorldContextObject,
int Interval);
194 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
195 static int RtcLeaveRoom(UObject* WorldContextObject,
const FString& RoomId);
206 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
207 static void RtcMuteLocalAudio(UObject* WorldContextObject, ERtcMuteState InRtcMuteState);
213 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
214 static void RtcPublishRoom(UObject* WorldContextObject,
const FString& RoomId);
220 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
221 static void RtcUnPublishRoom(UObject* WorldContextObject,
const FString& RoomId);
228 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
229 static void RtcRoomPauseAllSubscribedStream(UObject* WorldContextObject,
const FString& RoomId, ERtcPauseResumeMediaType InPauseResumeMediaType);
236 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
237 static void RtcRoomResumeAllSubscribedStream(UObject* WorldContextObject,
const FString& RoomId, ERtcPauseResumeMediaType InPauseResumeMediaType);
243 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
244 static void RtcSetAudioPlaybackDevice(UObject* WorldContextObject, ERtcAudioPlaybackDevice InRtcAudioPlaybackDevice);
258 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
259 static void RtcSetAudioScenario(UObject* WorldContextObject, ERtcAudioScenarioType InRtcAudioScenarioType);
269 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
270 static void RtcSetCaptureVolume(UObject* WorldContextObject, ERtcStreamIndex InRtcStreamIndex,
int InVolume);
281 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
282 static void RtcSetEarMonitorMode(UObject* WorldContextObject, ERtcEarMonitorMode InRtcEarMonitorMode);
291 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
292 static void RtcSetEarMonitorVolume(UObject* WorldContextObject,
int InVolume);
301 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
302 static void RtcSetPlaybackVolume(UObject* WorldContextObject,
int InVolume);
307 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
308 static void RtcStartAudioCapture(UObject* WorldContextObject);
313 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
314 static void RtcStopAudioCapture(UObject* WorldContextObject);
321 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Rtc")
322 static void RtcUpdateToken(UObject* WorldContextObject,
const FString& RoomId,
const FString& Token);
344 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
345 static bool CreateSession(UObject* WorldContextObject,
int HostingPlayerNum, FName SessionName,
const FPicoOnlineSessionSettings& NewSessionSettings, FPicoManagerOnCreateSessionCompleteDelegate OnCreateSessionCompleteDelegate);
357 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
358 static bool StartSession(UObject* WorldContextObject, FName SessionName, FPicoManagerOnStartSessionCompleteDelegate OnStartSessionCompleteDelegate);
372 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
373 static bool UpdateSession(UObject* WorldContextObject, FName SessionName,
const FPicoOnlineSessionSettings& UpdatedSessionSettings, FPicoManagerOnUpdateSessionCompleteDelegate OnUpdateSessionCompleteDelegate,
bool bShouldRefreshOnlineData =
true);
385 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
386 static bool EndSession(UObject* WorldContextObject, FName SessionName, FPicoManagerOnEndSessionCompleteDelegate OnEndSessionCompleteDelegate);
399 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
400 static bool DestroySession(UObject* WorldContextObject, FName SessionName, FPicoManagerOnDestroySessionCompleteDelegate OnDestroySessionCompleteDelegate);
412 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
413 static bool IsPlayerInSession(UObject* WorldContextObject, FName SessionName,
const FString& UniqueId);
428 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
429 static bool StartMatchmaking(UObject* WorldContextObject,
const TArray<FString>& LocalPlayers, FName SessionName,
const FPicoOnlineSessionSettings& NewSessionSettings, UPARAM(ref)FPicoOnlineSessionSearch& NewSessionSearch, FPicoManagerOnMatchmakingCompleteDelegate OnMatchmakingCompleteDelegate);
442 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
443 static bool CancelMatchmaking(UObject* WorldContextObject,
int SearchingPlayerNum, FName SessionName, FPicoManagerOnCancelMatchmakingCompleteDelegate OnCancelMatchmakingCompleteDelegate);
456 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
457 static bool FindSessions(UObject* WorldContextObject, int32 SearchingPlayerNum, UPARAM(ref)FPicoOnlineSessionSearch& NewSessionSearch, FPicoManagerOnFindSessionCompleteDelegate OnFindSessionCompleteDelegate);
471 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
472 static bool FindSessionById(UObject* WorldContextObject,
const FString& SearchingUserId,
const FString& SessionId, FPicoManagerOnSingleSessionResultCompleteDelegate OnSingleSessionResultCompleteDelegate);
486 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
487 static bool JoinSession(UObject* WorldContextObject,
int PlayerNum, FName SessionName,
const FPicoOnlineSessionSearchResult& SearchResult, FPicoManagerOnJoinSessionCompleteDelegate OnJoinSessionCompleteDelegate);
491 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
492 static void DumpSessionState(UObject* WorldContextObject);
498 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
499 static EOnlineSessionStatePicoType GetSessionState(UObject* WorldContextObject, FName SessionName);
505 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
506 static FPicoNamedOnlineSession GetNamedSession(UObject* WorldContextObject, FName SessionName);
513 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
514 static FPicoNamedOnlineSession AddNamedSessionBySettings(UObject* WorldContextObject, FName SessionName,
const FPicoOnlineSessionSettings& SessionSettings);
521 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
522 static FPicoNamedOnlineSession AddNamedSession(UObject* WorldContextObject, FName SessionName,
const FPicoOnlineSession& Session);
528 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
529 static FPicoOnlineSessionSettings GetSessionSettings(UObject* WorldContextObject, FName SessionName);
538 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Game")
539 static bool SendSessionInviteToFriend(UObject* WorldContextObject, int32 LocalUserNum, FName SessionName,
const FString& Friend);
544 static FOnlineSessionSettings GetOnlineSessionSettings(
const FPicoOnlineSessionSettings& UpdatedSessionSettings);
545 static FPicoOnlineSessionSettings GetPicoOnlineSessionSettings(
const FOnlineSessionSettings& UpdatedSessionSettings);
546 static FPicoNamedOnlineSession GetPicoOnlineSession(
const FNamedOnlineSession& Session);
547 static FOnlineSession GetOnlineSession(
const FPicoOnlineSession& PicoSession);
548 static bool IsInputSessionSettingsDataStoreValid(
const FPicoOnlineSessionSettings& UpdatedSessionSettings);
549 static bool IsInputSessionSearchQueryDataValid(
const FPicoOnlineSessionSearch& SessionSearch);
567 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
568 static bool PresenceClear(UObject* WorldContextObject, FOnlineManagerPresenceClearDelegate InPresenceClearDelegate);
579 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
580 static void ReadInvitableUser(UObject* WorldContextObject, TArray<FString> SuggestedUserList, FOnlineManagerPresenceReadInvitableUserDelegate InReadInvitableUserDelegate);
589 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
590 static bool GetInvitableFriendList(UObject* WorldContextObject, TArray<FPicoUserInfo>& OutFriendsList);
607 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
608 static bool PresenceSet(UObject* WorldContextObject,
const FString& ApiName,
const FString& LobbySessionId,
const FString& MatchSessionId,
bool bIsJoinable,
const FString& Extra, FOnlineManagerPresenceSetDelegate InPresenceSetDelegate);
620 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
621 static bool PresenceSetDestination(UObject* WorldContextObject,
const FString& ApiName, FOnlineManagerPresenceSetDestinationDelegate InPresenceSetDestinationDelegate);
637 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
638 static bool PresenceSetIsJoinable(UObject* WorldContextObject,
bool bIsJoinable, FOnlineManagerPresenceSetIsJoinableDelegate InPresenceSetIsJoinableDelegate);
650 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
651 static bool PresenceSetLobbySession(UObject* WorldContextObject,
const FString& LobbySession, FOnlineManagerPresenceSetLobbySessionDelegate InPresenceSetLobbySessionDelegate);
663 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
664 static bool PresenceSetMatchSession(UObject* WorldContextObject,
const FString& MatchSession, FOnlineManagerPresenceSetMatchSessionDelegate InPresenceSetMatchSessionDelegate);
674 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
675 static bool PresenceSetExtra(UObject* WorldContextObject,
const FString& Extra, FOnlineManagerPresenceSetExtraDelegate InPresenceSetExtraDelegate);
686 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
687 static bool PresenceReadSendInvites(UObject* WorldContextObject, FOnlineManagerPresenceReadSentInvitesDelegate InPresenceReadSendInvitesDelegate);
699 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
700 static bool PresenceSendInvites(UObject* WorldContextObject, TArray<FString> UserIdArray, FOnlineManagerPresenceSentInvitesDelegate InPresenceSentInvitesDelegate);
709 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
710 static bool GetSendInvitesList(UObject* WorldContextObject, TArray<FPicoApplicationInvite>& OutList);
721 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
722 static bool PresenceGetDestinations(UObject* WorldContextObject, FOnlineManagerPresenceGetDestinationsDelegate InPresenceGetDestinationsDelegate);
731 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Presence")
732 static bool PresenceGetDestinationsList(UObject* WorldContextObject, TArray<FPicoDestination>& OutList);
754 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Application")
755 static bool LaunchOtherApp(UObject* WorldContextObject,
const FString& AppID,
const FString& Message, FOnlineManagerLaunchOtherAppDelegate InLaunchOtherAppDelegate);
757 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Application")
758 static bool GetVersion(UObject* WorldContextObject, FOnlineManagerGetVersionDelegate InGetVersionDelegate);
777 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Application")
778 static bool LaunchOtherAppByPresence(UObject* WorldContextObject,
const FString& AppID,
const FString& PackageName,
const FString& Message,
const FString& ApiName,
const FString& LobbySessionId,
const FString& MatchSessionId,
const FString& TrackId,
const FString& Extra, FOnlineManagerLaunchOtherAppByPresenceDelegate InLaunchOtherAppByPresenceDelegate);
797 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|ApplicationLifecycle")
798 static bool GetLaunchDetails(UObject* WorldContextObject, FLaunchDetails& OutLaunchDetails);
816 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|ApplicationLifecycle")
817 static bool LogDeeplinkResult(UObject* WorldContextObject,
const FString& TrackingID, ELaunchResult LaunchResult);
840 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Leaderboard")
841 static bool ReadLeaderboards(UObject* WorldContextObject,
const TArray<FString>& Players, UPARAM(ref)FPicoOnlineLeaderboardRead& PicoReadObject, FPicoManagerOnReadLeaderboardsCompleteDelegate OnReadLeaderboardsCompleteDelegate);
855 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Leaderboard")
856 static bool ReadLeaderboardsForFriends(UObject* WorldContextObject, int32 LocalUserNum, UPARAM(ref)FPicoOnlineLeaderboardRead& PicoReadObject, FPicoManagerOnReadLeaderboardsCompleteDelegate OnReadLeaderboardsCompleteDelegate);
870 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|Leaderboard")
871 static bool WriteLeaderboards(UObject* WorldContextObject,
const FString& SessionName,
const FString& Player, UPARAM(ref)FPicoOnlineLeaderboardWrite& PicoWriteObject);
876 static FOnlinePicoVerifyAppDelegate VerifyAppDelegate;
877 static int32 VerifyAppCode;
886 UFUNCTION(BlueprintPure, Category =
"OnlinePico")
887 static UOnlineSubsystemPicoManager* GetOnlineSubsystemPicoManager();
892 UFUNCTION(BlueprintCallable, Category =
"OnlinePico|PicoEntitlement")
893 static void PicoEntitlementVerifyAppDelegate(FOnlinePicoVerifyAppDelegate OnVerifyAppCallback);
895 UFUNCTION(BlueprintCallable, Category =
"OnlinePico|PicoEntitlement")
896 static void PicoEntitlementVerifyCheck();
898 UFUNCTION(BlueprintCallable, Category =
"OnlinePico|PicoEntitlement")
899 static FString PicoGetDeviceSN();
Pico blueprint function library.
Definition: OnlinePicoFunctionLibrary.h:23