Space Plunder
Loading...
Searching...
No Matches
SingleMenuSystemWidget.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Data/CommonUIData.h"
8#include "SingleMenuSystemWidget.generated.h"
9
10DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnMenuButtonSelected, const int32, ButtonIndex);
11DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMenuButtonWithTabSelected, const int32, ButtonIndex, const int32, MenuIndex);
12
13UCLASS()
14class MENUSYSTEM_API USingleMenuSystemWidget : public UMenuSystemWidget
15{
16 GENERATED_BODY()
17
18public:
19 explicit USingleMenuSystemWidget(const FObjectInitializer& ObjectInitializer);
20
21 UPROPERTY(BlueprintAssignable, Category="Menu System")
22 FOnMenuButtonSelected OnMenuButtonSelected;
23 UPROPERTY(BlueprintAssignable, Category="Menu System")
24 FOnMenuButtonWithTabSelected OnMenuButtonWithTabSelected;
25
26
27 virtual UWidget* NativeGetDesiredFocusTarget() const override;
28 virtual bool NativeOnHandleBackAction() override;
29 virtual void NativeOnActivated() override;
30 virtual void NativeOnDeactivated() override;
31
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;};
42
43
44
45 // UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Menu System|Title")
46 // FSingleMenu MenuData;
47
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";
52
53
54 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Buttons")
55 TArray<FString> ButtonTextList;
56 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Buttons")
57 TArray<FString> AltButtonTextList;
58
59 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Buttons")
60 TArray<bool> DisabledButtons;
61 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Buttons")
62 TArray<bool> AltTextButtons;
63
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"))
69 int32 Layout = 1;
70
71 UFUNCTION(BlueprintCallable, Category="Menu System|Single")
72 int32 CheckButtonFocus() const;
73 UFUNCTION(BlueprintImplementableEvent, Category="Menu System|Single")
74 void ButtonSelectedEvent(const int32 Index);
75
76 void CreateSelectionButtons();
77 void SetFromSingleMenuData(const FSingleMenu& SingleMenu);
78
79protected:
80 virtual bool Initialize() override;
81 virtual void NativePreConstruct() override;
82 virtual void NativeConstruct() override;
83
84
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;
91
92
93private:
94
95 int32 MenuIndex = 0;
96
97 UFUNCTION(BlueprintCallable, Category="Menu System")
98 void BackgroundSelected();
99 UFUNCTION()
100 void MenuButtonClicked(const int32 Index);
101 TSubclassOf<class UUserWidget> SelectionButtonClass;
102
103};
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMenuButtonWithTabSelected, const int32, ButtonIndex, const int32, MenuIndex)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnMenuButtonSelected, const int32, ButtonIndex)
Definition MenuSystemWidget.h:19
Definition SingleMenuSystemWidget.h:15
Definition CommonUIData.h:21