21 UPROPERTY(BlueprintAssignable, Category=
"Menu System")
22 FOnMenuButtonSelected OnMenuButtonSelected;
23 UPROPERTY(BlueprintAssignable, Category="
Menu System")
24 FOnMenuButtonWithTabSelected OnMenuButtonWithTabSelected;
27 virtual UWidget* NativeGetDesiredFocusTarget() const override;
28 virtual
bool NativeOnHandleBackAction() override;
29 virtual
void NativeOnActivated() override;
30 virtual
void NativeOnDeactivated() override;
32 UFUNCTION(BlueprintCallable, Category="
Menu System")
33 void DisableAllButtons() const;
34 UFUNCTION(BlueprintCallable, Category="
Menu System")
35 void SetAllButtonsToAltText();
36 UFUNCTION(BlueprintCallable, Category="
Menu System")
37 void SetIsBackHandler(const
bool bValue);
38 UFUNCTION(BlueprintCallable, Category="
Menu System")
39 void SetMenuIndex(const int32 Index){MenuIndex = Index;};
40 UFUNCTION(BlueprintPure, Category=
"Menu System")
41 int32 GetMenuIndex()
const {
return MenuIndex;};
48 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=
"Menu System|Title")
49 FString MenuTitle = "
Menu Title";
50 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Title")
51 FString DescriptionTitle = "Description";
54 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Buttons")
55 TArray<FString> ButtonTextList;
56 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Buttons")
57 TArray<FString> AltButtonTextList;
59 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Buttons")
60 TArray<
bool> DisabledButtons;
61 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Buttons")
62 TArray<
bool> AltTextButtons;
64 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Buttons")
65 float SpacerSize = 17.0f;
66 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Buttons")
67 int32 BackButtonIndex = 5;
68 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="
Menu System|Layout", meta = (ClampMin = "1", ClampMax = "3", UIMin = "1", UIMax = "3"))
72 int32 CheckButtonFocus() const;
74 void ButtonSelectedEvent(const int32 Index);
76 void CreateSelectionButtons();
77 void SetFromSingleMenuData(const
FSingleMenu& SingleMenu);
80 virtual
bool Initialize() override;
81 virtual
void NativePreConstruct() override;
82 virtual
void NativeConstruct() override;
85 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|
Single")
86 class UButton* BackgroundButton =
nullptr;
87 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|
Single")
88 class UStackBox* MenuButtons =
nullptr;
89 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="
Menu System|
Single")
90 class UTextBlock* MenuTitleText =
nullptr;
97 UFUNCTION(BlueprintCallable, Category="
Menu System")
98 void BackgroundSelected();
100 void MenuButtonClicked(const int32 Index);
101 TSubclassOf<class UUserWidget> SelectionButtonClass;