From 202b95387f17a4905515836da450d5de61bbdc4e Mon Sep 17 00:00:00 2001 From: mordentral Date: Thu, 31 Mar 2016 16:07:18 -0400 Subject: [PATCH] df --- .../Classes/AdvancedExternalUILibrary.h | 9 +++++-- .../Private/AdvancedExternalUILibrary.cpp | 27 +++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/Source/AdvancedSessions/Classes/AdvancedExternalUILibrary.h b/Source/AdvancedSessions/Classes/AdvancedExternalUILibrary.h index 0fcea89..956f46d 100644 --- a/Source/AdvancedSessions/Classes/AdvancedExternalUILibrary.h +++ b/Source/AdvancedSessions/Classes/AdvancedExternalUILibrary.h @@ -42,8 +42,13 @@ public: static void ShowLeaderBoardUI(FString LeaderboardName, TEnumAsByte &Result); // Show the UI that shows a web URL - UFUNCTION(BlueprintCallable, Category = "Online|AdvancedExternalUI", meta = (ExpandEnumAsExecs = "Result")) - static void ShowWebURLUI(FString URLToShow, TEnumAsByte &Result); + UFUNCTION(BlueprintCallable, Category = "Online|AdvancedExternalUI", meta = (ExpandEnumAsExecs = "Result", AutoCreateRefTerm = "AllowedDomains")) + static void ShowWebURLUI(FString URLToShow, TEnumAsByte &Result, TArray& AllowedDomains, bool bEmbedded = false , bool bShowBackground = false, bool bShowCloseButton = false, int32 OffsetX = 0, int32 OffsetY = 0, int32 SizeX = 0, int32 SizeY = 0); + + // Show the UI that shows a web URL + UFUNCTION(BlueprintCallable, Category = "Online|AdvancedExternalUI") + static void CloseWebURLUI(); + // Show the UI that shows the profile of a uniquenetid UFUNCTION(BlueprintCallable, Category = "Online|AdvancedExternalUI", meta = (ExpandEnumAsExecs = "Result")) diff --git a/Source/AdvancedSessions/Private/AdvancedExternalUILibrary.cpp b/Source/AdvancedSessions/Private/AdvancedExternalUILibrary.cpp index eb49605..d3ed15c 100644 --- a/Source/AdvancedSessions/Private/AdvancedExternalUILibrary.cpp +++ b/Source/AdvancedSessions/Private/AdvancedExternalUILibrary.cpp @@ -38,7 +38,7 @@ void UAdvancedExternalUILibrary::ShowProfileUI(const FBPUniqueNetId PlayerViewin -void UAdvancedExternalUILibrary::ShowWebURLUI(FString URLToShow, TEnumAsByte &Result) +void UAdvancedExternalUILibrary::ShowWebURLUI(FString URLToShow, TEnumAsByte &Result, TArray& AllowedDomains, bool bEmbedded, bool bShowBackground, bool bShowCloseButton, int32 OffsetX, int32 OffsetY, int32 SizeX, int32 SizeY) { IOnlineExternalUIPtr ExternalUIInterface = Online::GetExternalUIInterface(); @@ -52,10 +52,33 @@ void UAdvancedExternalUILibrary::ShowWebURLUI(FString URLToShow, TEnumAsByteShowWebURL(URLToShow); + FShowWebUrlParams Params; + Params.AllowedDomains = AllowedDomains; + Params.bEmbedded = bEmbedded; + Params.bShowBackground = bShowBackground; + Params.bShowCloseButton = bShowCloseButton; + Params.OffsetX = OffsetX; + Params.OffsetY = OffsetY; + Params.SizeX = SizeX; + Params.SizeY = SizeY; + + ExternalUIInterface->ShowWebURL(URLToShow, Params); Result = EBlueprintResultSwitch::Type::OnSuccess; } +void UAdvancedExternalUILibrary::CloseWebURLUI() +{ + IOnlineExternalUIPtr ExternalUIInterface = Online::GetExternalUIInterface(); + + if (!ExternalUIInterface.IsValid()) + { + UE_LOG(AdvancedExternalUILog, Warning, TEXT("CloseWebURLUI Failed to get External UI interface!")); + return; + } + + ExternalUIInterface->CloseWebURL(); +} + void UAdvancedExternalUILibrary::ShowLeaderBoardUI(FString LeaderboardName, TEnumAsByte &Result) { IOnlineExternalUIPtr ExternalUIInterface = Online::GetExternalUIInterface();