Added world context to a bunch of relevant nodes.

Should likely add it to others in the future as well.


Former-commit-id: c41024927d6525c3c35ff609bdffdb2960b6e3ae
This commit is contained in:
mordentral
2019-10-29 09:52:28 -04:00
parent 71f16cadd2
commit 8744035160
5 changed files with 30 additions and 26 deletions

View File

@@ -39,16 +39,16 @@ public:
static void GetExtraSettings(FBlueprintSessionResult SessionResult, TArray<FSessionPropertyKeyPair> & ExtraSettings); static void GetExtraSettings(FBlueprintSessionResult SessionResult, TArray<FSessionPropertyKeyPair> & ExtraSettings);
// Get the current session state // Get the current session state
UFUNCTION(BlueprintCallable, Category = "Online|AdvancedSessions|SessionInfo") UFUNCTION(BlueprintCallable, Category = "Online|AdvancedSessions|SessionInfo", meta = (WorldContext = "WorldContextObject"))
static void GetSessionState(EBPOnlineSessionState &SessionState); static void GetSessionState(UObject* WorldContextObject, EBPOnlineSessionState &SessionState);
// Get the current session settings // Get the current session settings
UFUNCTION(BlueprintCallable, Category = "Online|AdvancedSessions|SessionInfo", meta = (ExpandEnumAsExecs = "Result")) UFUNCTION(BlueprintCallable, Category = "Online|AdvancedSessions|SessionInfo", meta = (ExpandEnumAsExecs = "Result", WorldContext = "WorldContextObject"))
static void GetSessionSettings(int32 &NumConnections, int32 &NumPrivateConnections, bool &bIsLAN, bool &bIsDedicated, bool &bAllowInvites, bool &bAllowJoinInProgress, bool &bIsAnticheatEnabled, int32 &BuildUniqueID, TArray<FSessionPropertyKeyPair> &ExtraSettings, EBlueprintResultSwitch &Result); static void GetSessionSettings(UObject* WorldContextObject, int32 &NumConnections, int32 &NumPrivateConnections, bool &bIsLAN, bool &bIsDedicated, bool &bAllowInvites, bool &bAllowJoinInProgress, bool &bIsAnticheatEnabled, int32 &BuildUniqueID, TArray<FSessionPropertyKeyPair> &ExtraSettings, EBlueprintResultSwitch &Result);
// Check if someone is in the current session // Check if someone is in the current session
UFUNCTION(BlueprintCallable, Category = "Online|AdvancedSessions|SessionInfo") UFUNCTION(BlueprintCallable, Category = "Online|AdvancedSessions|SessionInfo", meta = (WorldContext = "WorldContextObject"))
static void IsPlayerInSession(const FBPUniqueNetId &PlayerToCheck, bool &bIsInSession); static void IsPlayerInSession(UObject* WorldContextObject, const FBPUniqueNetId &PlayerToCheck, bool &bIsInSession);
// Make a literal session search parameter // Make a literal session search parameter
UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo|Literals") UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo|Literals")
@@ -66,8 +66,8 @@ public:
static void GetSessionID_AsString(const FBlueprintSessionResult & SessionResult, FString& SessionID); static void GetSessionID_AsString(const FBlueprintSessionResult & SessionResult, FString& SessionID);
// Get a string copy of the current session ID // Get a string copy of the current session ID
UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo") UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo", meta = (WorldContext = "WorldContextObject"))
static void GetCurrentSessionID_AsString(FString& SessionID); static void GetCurrentSessionID_AsString(UObject* WorldContextObject, FString& SessionID);
// Get the Unique Current Build ID // Get the Unique Current Build ID
UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo") UFUNCTION(BlueprintPure, Category = "Online|AdvancedSessions|SessionInfo")

View File

@@ -22,7 +22,7 @@ UAdvancedFriendsGameInstance::UAdvancedFriendsGameInstance(const FObjectInitiali
void UAdvancedFriendsGameInstance::Shutdown() void UAdvancedFriendsGameInstance::Shutdown()
{ {
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(); IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld());
if (!SessionInterface.IsValid()) if (!SessionInterface.IsValid())
{ {
@@ -39,7 +39,7 @@ void UAdvancedFriendsGameInstance::Shutdown()
if (bEnableTalkingStatusDelegate) if (bEnableTalkingStatusDelegate)
{ {
IOnlineVoicePtr VoiceInterface = Online::GetVoiceInterface(); IOnlineVoicePtr VoiceInterface = Online::GetVoiceInterface(GetWorld());
if (VoiceInterface.IsValid()) if (VoiceInterface.IsValid())
{ {
@@ -52,7 +52,7 @@ void UAdvancedFriendsGameInstance::Shutdown()
} }
} }
IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface(); IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface(GetWorld());
if (IdentityInterface.IsValid()) if (IdentityInterface.IsValid())
{ {
@@ -69,7 +69,7 @@ void UAdvancedFriendsGameInstance::Shutdown()
void UAdvancedFriendsGameInstance::Init() void UAdvancedFriendsGameInstance::Init()
{ {
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface();//OnlineSub->GetSessionInterface(); IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld());//OnlineSub->GetSessionInterface();
if (SessionInterface.IsValid()) if (SessionInterface.IsValid())
{ {
@@ -90,7 +90,7 @@ void UAdvancedFriendsGameInstance::Init()
// Beginning work on the voice interface // Beginning work on the voice interface
if (bEnableTalkingStatusDelegate) if (bEnableTalkingStatusDelegate)
{ {
IOnlineVoicePtr VoiceInterface = Online::GetVoiceInterface(); IOnlineVoicePtr VoiceInterface = Online::GetVoiceInterface(GetWorld());
if (VoiceInterface.IsValid()) if (VoiceInterface.IsValid())
{ {
@@ -103,7 +103,7 @@ void UAdvancedFriendsGameInstance::Init()
} }
} }
IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface(); IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface(GetWorld());
if (IdentityInterface.IsValid()) if (IdentityInterface.IsValid())
{ {

View File

@@ -24,9 +24,10 @@ void UAdvancedSessionsLibrary::GetSessionID_AsString(const FBlueprintSessionResu
SessionID.Empty(); SessionID.Empty();
} }
void UAdvancedSessionsLibrary::GetCurrentSessionID_AsString(FString& SessionID) void UAdvancedSessionsLibrary::GetCurrentSessionID_AsString(UObject* WorldContextObject, FString& SessionID)
{ {
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(); UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(World);
if (!SessionInterface.IsValid()) if (!SessionInterface.IsValid())
{ {
@@ -125,9 +126,10 @@ void UAdvancedSessionsLibrary::GetExtraSettings(FBlueprintSessionResult SessionR
} }
} }
void UAdvancedSessionsLibrary::GetSessionState(EBPOnlineSessionState &SessionState) void UAdvancedSessionsLibrary::GetSessionState(UObject* WorldContextObject, EBPOnlineSessionState &SessionState)
{ {
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(); UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(World);
if (!SessionInterface.IsValid()) if (!SessionInterface.IsValid())
{ {
@@ -138,9 +140,10 @@ void UAdvancedSessionsLibrary::GetSessionState(EBPOnlineSessionState &SessionSta
SessionState = ((EBPOnlineSessionState)SessionInterface->GetSessionState(NAME_GameSession)); SessionState = ((EBPOnlineSessionState)SessionInterface->GetSessionState(NAME_GameSession));
} }
void UAdvancedSessionsLibrary::GetSessionSettings(int32 &NumConnections, int32 &NumPrivateConnections, bool &bIsLAN, bool &bIsDedicated, bool &bAllowInvites, bool &bAllowJoinInProgress, bool &bIsAnticheatEnabled, int32 &BuildUniqueID, TArray<FSessionPropertyKeyPair> &ExtraSettings, EBlueprintResultSwitch &Result) void UAdvancedSessionsLibrary::GetSessionSettings(UObject* WorldContextObject, int32 &NumConnections, int32 &NumPrivateConnections, bool &bIsLAN, bool &bIsDedicated, bool &bAllowInvites, bool &bAllowJoinInProgress, bool &bIsAnticheatEnabled, int32 &BuildUniqueID, TArray<FSessionPropertyKeyPair> &ExtraSettings, EBlueprintResultSwitch &Result)
{ {
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(); UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(World);
if (!SessionInterface.IsValid()) if (!SessionInterface.IsValid())
{ {
@@ -178,9 +181,10 @@ void UAdvancedSessionsLibrary::GetSessionSettings(int32 &NumConnections, int32 &
Result = EBlueprintResultSwitch::OnSuccess; Result = EBlueprintResultSwitch::OnSuccess;
} }
void UAdvancedSessionsLibrary::IsPlayerInSession(const FBPUniqueNetId &PlayerToCheck, bool &bIsInSession) void UAdvancedSessionsLibrary::IsPlayerInSession(UObject* WorldContextObject, const FBPUniqueNetId &PlayerToCheck, bool &bIsInSession)
{ {
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(); UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(World);
if (!SessionInterface.IsValid()) if (!SessionInterface.IsValid())
{ {

View File

@@ -41,7 +41,7 @@ void UFindFriendSessionCallbackProxy::Activate()
return; return;
} }
IOnlineSessionPtr Sessions = Online::GetSessionInterface(); IOnlineSessionPtr Sessions = Online::GetSessionInterface(GetWorld());
if (Sessions.IsValid()) if (Sessions.IsValid())
{ {
@@ -71,7 +71,7 @@ void UFindFriendSessionCallbackProxy::Activate()
void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const TArray<FOnlineSessionSearchResult>& SessionInfo) void UFindFriendSessionCallbackProxy::OnFindFriendSessionCompleted(int32 LocalPlayer, bool bWasSuccessful, const TArray<FOnlineSessionSearchResult>& SessionInfo)
{ {
IOnlineSessionPtr Sessions = Online::GetSessionInterface(); IOnlineSessionPtr Sessions = Online::GetSessionInterface(GetWorld());
if (Sessions.IsValid()) if (Sessions.IsValid())
Sessions->ClearOnFindFriendSessionCompleteDelegate_Handle(LocalPlayer, FindFriendSessionCompleteDelegateHandle); Sessions->ClearOnFindFriendSessionCompleteDelegate_Handle(LocalPlayer, FindFriendSessionCompleteDelegateHandle);

View File

@@ -30,7 +30,7 @@ UUpdateSessionCallbackProxyAdvanced* UUpdateSessionCallbackProxyAdvanced::Update
void UUpdateSessionCallbackProxyAdvanced::Activate() void UUpdateSessionCallbackProxyAdvanced::Activate()
{ {
IOnlineSessionPtr Sessions = Online::GetSessionInterface(); IOnlineSessionPtr Sessions = Online::GetSessionInterface(GetWorld());
if (Sessions.IsValid()) if (Sessions.IsValid())
{ {
@@ -101,7 +101,7 @@ void UUpdateSessionCallbackProxyAdvanced::Activate()
void UUpdateSessionCallbackProxyAdvanced::OnUpdateCompleted(FName SessionName, bool bWasSuccessful) void UUpdateSessionCallbackProxyAdvanced::OnUpdateCompleted(FName SessionName, bool bWasSuccessful)
{ {
IOnlineSessionPtr Sessions = Online::GetSessionInterface(); IOnlineSessionPtr Sessions = Online::GetSessionInterface(GetWorld());
if (Sessions.IsValid()) if (Sessions.IsValid())
{ {
Sessions->ClearOnUpdateSessionCompleteDelegate_Handle(OnUpdateSessionCompleteDelegateHandle); Sessions->ClearOnUpdateSessionCompleteDelegate_Handle(OnUpdateSessionCompleteDelegateHandle);