Space Plunder
Loading...
Searching...
No Matches
SelectionButtonMenuSystem.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 "Blueprint/UserWidget.h"
7#include "Components/Button.h"
9#include "SelectionButtonMenuSystem.generated.h"
10
11class USoundCue;
12DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSelectionButtonClicked, int32, Index);
13
14UCLASS()
15class MENUSYSTEM_API USelectionButtonMenuSystem : public UCommonWidgetBase
16{
17 GENERATED_BODY()
18
19public:
20 virtual bool Initialize() override;
21 virtual void NativePreConstruct() override;
22 virtual void NativeConstruct() override;
23
24 virtual void NativeOnMouseEnter(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override;
25 virtual void NativeOnAddedToFocusPath(const FFocusEvent& InFocusEvent) override;
26 virtual void NativeOnRemovedFromFocusPath(const FFocusEvent& InFocusEvent) override;
27 virtual void NativeOnMouseLeave(const FPointerEvent& InMouseEvent) override;
28
29 UPROPERTY(BlueprintAssignable, Category="Menu System")
30 FOnSelectionButtonClicked OnSelectionButtonClicked;
31
32 UFUNCTION(BlueprintCallable, Category="Menu System")
33 void SetButtonText(FString Text) const;
34
35 UFUNCTION(BlueprintCallable, Category="Menu System")
36 void SetButtonFocus() const;
37 UFUNCTION(BlueprintPure, Category="Menu System")
38 bool GetIsFocused() const{return MainButton->HasAnyUserFocus();};
39
40 UFUNCTION(BlueprintCallable, Category="Menu System")
41 void SetButtonIndex(const int32 Index){ButtonIndex = Index;};
42 UFUNCTION(BlueprintPure, Category="Menu System")
43 int32 GetButtonIndex() const {return ButtonIndex;};
44
45 UFUNCTION(BlueprintCallable, Category="Menu System")
46 void SetTempDisabled(const bool bValue = true);
47 UFUNCTION(BlueprintCallable, Category="Menu System")
48 void SetDisabled(const bool bValue = true){bDisabled = bValue;};
49 UFUNCTION(BlueprintPure, Category="Menu System")
50 bool GetIsDisabled() const {return bDisabled;};
51
52 UFUNCTION(BlueprintImplementableEvent, Category="Menu System")
53 void PlaySelectionAnimation(bool bForward);
54
55protected:
56 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="Menu System|Button")
57 class UButton* MainButton = nullptr;
58 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="Menu System|Button")
59 class UTextBlock* ButtonTextBlock = nullptr;
60 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta=(BindWidget), Category="Menu System|Button")
61 class UButtonPromptWidget* ButtonPrompt = nullptr;
62
63 // UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Menu System|Sound")
64 // USoundCue* PressedSound;
65 // UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Menu System|Sound")
66 // USoundCue* HoveredButtonSound;
67 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Button")
68 FName SelectInputName = "Confirm";
69 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Button")
70 FButtonStyle MouseStyle;
71 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Button")
72 FButtonStyle KeySelected;
73 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Menu System|Button")
74 FButtonStyle KeyNotSelected;
75
76 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Menu System|Button")
77 bool bDisabled = false;
78
79 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Menu System|Button")
80 int32 ButtonIndex = 0;
81
82
83private:
84 UFUNCTION()
85 void OnClicked();
86
87};
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSelectionButtonClicked, int32, Index)
User widget representing a button prompt for It provides functionality for displaying a button icon,...
Definition ButtonPromptWidget.h:32
Definition CommonWidgetBase.h:20
Definition SelectionButtonMenuSystem.h:16