RealtimeStyleTransferRuntime/Plugins/CommonGame/Source/Public/CommonUIExtensions.h

53 lines
2.6 KiB
C
Raw Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "CommonActivatableWidget.h"
#include "CommonUIExtensions.generated.h"
UCLASS()
class COMMONGAME_API UCommonUIExtensions : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UCommonUIExtensions() { }
UFUNCTION(BlueprintPure, BlueprintCosmetic, Category = "Global UI Extensions", meta = (WorldContext = "WidgetContextObject"))
static ECommonInputType GetOwningPlayerInputType(const UUserWidget* WidgetContextObject);
UFUNCTION(BlueprintPure, BlueprintCosmetic, Category = "Global UI Extensions", meta = (WorldContext = "WidgetContextObject"))
static bool IsOwningPlayerUsingTouch(const UUserWidget* WidgetContextObject);
UFUNCTION(BlueprintPure, BlueprintCosmetic, Category = "Global UI Extensions", meta = (WorldContext = "WidgetContextObject"))
static bool IsOwningPlayerUsingGamepad(const UUserWidget* WidgetContextObject);
UFUNCTION(BlueprintCallable, BlueprintCosmetic, Category = "Global UI Extensions")
static UCommonActivatableWidget* PushContentToLayer_ForPlayer(const ULocalPlayer* LocalPlayer, UPARAM(meta = (Categories = "UI.Layer")) FGameplayTag LayerName, UPARAM(meta = (AllowAbstract = false)) TSubclassOf<UCommonActivatableWidget> WidgetClass);
UFUNCTION(BlueprintCallable, BlueprintCosmetic, Category = "Global UI Extensions")
static void PushStreamedContentToLayer_ForPlayer(const ULocalPlayer* LocalPlayer, UPARAM(meta = (Categories = "UI.Layer")) FGameplayTag LayerName, UPARAM(meta = (AllowAbstract = false)) TSoftClassPtr<UCommonActivatableWidget> WidgetClass);
UFUNCTION(BlueprintCallable, BlueprintCosmetic, Category = "Global UI Extensions")
static void PopContentFromLayer(UCommonActivatableWidget* ActivatableWidget);
UFUNCTION(BlueprintCallable, BlueprintCosmetic, Category = "Global UI Extensions")
static ULocalPlayer* GetLocalPlayerFromController(APlayerController* PlayerController);
UFUNCTION(BlueprintCallable, BlueprintCosmetic, Category = "Global UI Extensions")
static FName SuspendInputForPlayer(APlayerController* PlayerController, FName SuspendReason);
static FName SuspendInputForPlayer(ULocalPlayer* LocalPlayer, FName SuspendReason);
UFUNCTION(BlueprintCallable, BlueprintCosmetic, Category = "Global UI Extensions")
static void ResumeInputForPlayer(APlayerController* PlayerController, FName SuspendToken);
static void ResumeInputForPlayer(ULocalPlayer* LocalPlayer, FName SuspendToken);
private:
static int32 InputSuspensions;
};