22 UPROPERTY(BlueprintAssignable, Category=
"Menu System|Modal")
23 FOnModalButtonSelected OnModalButtonSelected;
24 UPROPERTY(BlueprintAssignable, Category="
Menu System|Modal")
25 FOnCloseModal OnCloseModal;
28 virtual UWidget* NativeGetDesiredFocusTarget() const override;
29 virtual
bool NativeOnHandleBackAction() override;
32 UFUNCTION(BlueprintCallable, Category="
Menu System|Modal")
37 UFUNCTION(BlueprintCallable, Category="
Menu System|Modal")
40 UFUNCTION(BlueprintImplementableEvent, Category="
Menu System|Modal")
41 void PlayOpenAnimation();
43 UFUNCTION(BlueprintImplementableEvent, Category="
Menu System|Modal")
44 void PlayCloseAnimation();
47 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
57 int32 GetCloseButtonIndex()
const {
return CloseButtonIndex;};
61 virtual bool Initialize()
override;
62 virtual void NativePreConstruct()
override;
63 virtual void NativeConstruct()
override;
69 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
"Menu System|Modal|Sounds")
70 class USoundBase* DefaultOpenSound =
nullptr;
71 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal|Sounds")
72 class USoundBase* NotificationSound =
nullptr;
73 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal|Sounds")
74 class USoundBase* WarningSound =
nullptr;
75 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal|Sounds")
76 class USoundBase* ErrorSound =
nullptr;
79 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
80 FLinearColor GeneralColor;
81 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
82 FLinearColor SystemColor;
83 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
84 FLinearColor WarningColor;
85 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
86 FLinearColor ErrorColor;
87 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
88 float SpacerSize = 17.0f;
89 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
90 int32 CloseButtonIndex = 0;
91 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
92 int32 MainButtonIndex = 1;
94 float NotificationLifetime = 3.0f;
96 float NotificationPadding = 5.0f;
97 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Menu System|Modal")
98 float BorderPadding = 32.0f;
101 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
102 class UHorizontalBox* MainButtonContainer =
nullptr;
103 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
104 class UTextBlock* DescriptionTextBlock =
nullptr;
105 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
106 class UTextBlock* TitleTextBlock =
nullptr;
107 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
108 class UBorder* ModalBorder =
nullptr;
109 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
110 class UVerticalBox* MainVerticalBox =
nullptr;
111 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
112 class UHorizontalBox* ButtonHorizontalBox =
nullptr;
113 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
114 class UBorder* HighlightColorBorder =
nullptr;
116 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
117 class UStackBox* ExtraButtons =
nullptr;
120 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
123 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|Modal")
128 void OnButtonClicked(const int32 Index);
133 void PlaySound(USoundBase* Sound) const;
135 void ApplySettings();
140 void CreateExtraButtons();
142 ETextJustify::Type JustifyType = ETextJustify::
Left;
143 FLinearColor ColorType;
145 TSubclassOf<class UUserWidget> SelectionButtonClass;
147 FTimerHandle NotificationTimerHandle;