5#include "CoreMinimal.h"
6#include "Components/WidgetComponent.h"
8#include "AdvancedWidgetComponent.generated.h"
19UCLASS(Blueprintable, ClassGroup =
"UserInterface", hidecategories = (Object, Activation,
"Components|Activation", Sockets, Base, Lighting, LOD, Mesh), editinlinenew, meta = (BlueprintSpawnableComponent))
20class PROJECTX_API UAdvancedWidgetComponent :
public UWidgetComponent,
public IReactsToMatchEvents
22 GENERATED_UCLASS_BODY()
25 virtual
void BeginPlay() override;
26 virtual
void EndPlay(const EEndPlayReason::Type Reason) override;
30 void ManageVisibility();
31 bool ShouldClampToScreen()
const {
return bClampToScreen; }
32 bool IsWidgetVisible()
const override;
33 virtual void InitWidget()
override;
34 virtual void ReleaseResources()
override;
38 virtual void ModifyScreenPosition(FVector2D& ScreenPosition);
40 UFUNCTION(BlueprintCallable)
41 float GetClampRadius()
const {
return ClampRadius;}
42 UFUNCTION(BlueprintCallable)
43 EClampType GetClampType()
const {
return ClampType; }
44 UFUNCTION(BlueprintCallable, Category = UserInterface)
45 virtual void SetScreenPositionOverride(
const FVector2D& NewScreenPosition,
float OverrideStrength = -1.f);
47 UFUNCTION(BlueprintCallable)
48 bool IsUsingScreenPositionOverride()
const {
return ScreenPositionOverrideStrength > 0.f; }
50 UFUNCTION(BlueprintImplementableEvent)
51 void OnWidgetClamped(
bool bIsClamped);
53 UFUNCTION(BlueprintCallable, Category= UserInterfaceCommand, meta=(WorldContext=
"WorldContextObject", DeterminesOutputType=
"WidgetComponentClass", DynamicOutputParam=
"OutWidgetComponents"))
54 static
void GetAllWidgetComponentsOfClass(const UObject* WorldContextObject, TSubclassOf<UAdvancedWidgetComponent> WidgetComponentClass, TArray<UAdvancedWidgetComponent*>& OutWidgetComponents);
55 UFUNCTION(BlueprintCallable, meta=(DeterminesOutputType="WidgetComponentClass", DynamicOutputParam="WidgetComponent"))
56 static
void CreateWidgetComponent(AActor* Owner, const FTransform& Transform, TSubclassOf<UWidgetComponent> WidgetComponentClass, UWidgetComponent*& WidgetComponent);
59 virtual
void TickComponent(
float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
63 class UGameViewportClient* OwningViewport = NULL;
67 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Layers)
68 bool bClampToScreen =
false;
69 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Layers)
71 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Layers)
72 float ClampRadius = 0.f;
73 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Layers)
74 bool bHideWhenDeployScreenActive =
false;
76 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Layers)
77 bool bPoolUserWidget =
false;
79 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
80 float MaxDesiredDrawDistance = 100000.0f;
83 UPROPERTY(EditDefaultsOnly, Category = Layers)
84 bool bAutoCleanup =
true;
86 float ScreenPositionOverrideStrength = 0.f;
87 FVector2D ScreenPositionOverride = FVector2D(0, 0);
88 bool bDeployScreenActive =
false;
Definition: ReactsToMatchEvents.h:16
virtual void MatchEnded()
Definition: ReactsToMatchEvents.cpp:16