void UtrnetDemoGameInstance::DestroySession() { IOnlineSessionPtr Sessions = GetSession(); if (Sessions.IsValid()) { OnDestroySessionCompleteDelegateHandle = Sessions->AddOnDestroySessionCompleteDelegate_Handle(OnDestroySessionCompleteDelegate); Sessions->DestroySession(GameSessionName); } }
// Destroy Session void URadeGameInstance::DestroySessionAndLeaveGame() { IOnlineSubsystem* OnlineSub = IOnlineSubsystem::Get(); if (OnlineSub) { IOnlineSessionPtr Sessions = OnlineSub->GetSessionInterface(); if (Sessions.IsValid()) { Sessions->AddOnDestroySessionCompleteDelegate_Handle(OnDestroySessionCompleteDelegate); Sessions->DestroySession(GameSessionName); } } }
void UOnlineSessionClient::DestroyExistingSession_Impl(FDelegateHandle& OutResult, FName SessionName, FOnDestroySessionCompleteDelegate& Delegate) { IOnlineSessionPtr SessionInt = GetSessionInt(); if (SessionInt.IsValid()) { OutResult = SessionInt->AddOnDestroySessionCompleteDelegate_Handle(Delegate); SessionInt->DestroySession(SessionName); } else { OutResult.Reset(); Delegate.ExecuteIfBound(SessionName, true); } }