Space Plunder
Loading...
Searching...
No Matches
USingleMenuSystemWidget Class Reference

#include <SingleMenuSystemWidget.h>

Inheritance diagram for USingleMenuSystemWidget:
UMenuSystemWidget UBaseActivatableWidget UMultiplayerMenuSystemWidget

Public Member Functions

 USingleMenuSystemWidget (const FObjectInitializer &ObjectInitializer)
 
virtual UWidget * NativeGetDesiredFocusTarget () const override
 
virtual bool NativeOnHandleBackAction () override
 
virtual void NativeOnActivated () override
 
virtual void NativeOnDeactivated () override
 
void DisableAllButtons () const
 
void SetAllButtonsToAltText ()
 
void SetIsBackHandler (const bool bValue)
 
void SetMenuIndex (const int32 Index)
 
int32 GetMenuIndex () const
 
int32 CheckButtonFocus () const
 
void ButtonSelectedEvent (const int32 Index)
 
void CreateSelectionButtons ()
 
void SetFromSingleMenuData (const FSingleMenu &SingleMenu)
 
- Public Member Functions inherited from UMenuSystemWidget
 UMenuSystemWidget (const FObjectInitializer &ObjectInitializer)
 
void SetMenuInterface (IMenuSystem *Interface)
 
void Setup ()
 
virtual void OpenConfirmationMessage (const FModalData &ModalData)
 
virtual void SetServerList (const TArray< FServerRow > &ServerInfo)
 
void SetOwnerWidget (UUserWidget *Owner)
 
UUserWidget * GetOwnerWidget () const
 
void WidgetVisibilityChanged (ESlateVisibility SlateVisibility)
 
bool GetIsOnlineGame () const
 
bool GetIsPublicMatch () const
 
virtual bool GetDebuggingMode () const
 
virtual FString GetPlayerUserName () const
 
virtual bool GetIsPlayerLoggedIn () const
 
virtual FString GetCurrentSessionName () const
 
virtual EOnlineSubsystem GetOnlineSubsystem () const
 

Public Attributes

FOnMenuButtonSelected OnMenuButtonSelected
 
FOnMenuButtonWithTabSelected OnMenuButtonWithTabSelected
 
FString MenuTitle = "Menu Title"
 
FString DescriptionTitle = "Description"
 
TArray< FString > ButtonTextList
 
TArray< FString > AltButtonTextList
 
TArray< bool > DisabledButtons
 
TArray< bool > AltTextButtons
 
float SpacerSize = 17.0f
 
int32 BackButtonIndex = 5
 
int32 Layout = 1
 
- Public Attributes inherited from UMenuSystemWidget
FOnMenuBackButtonSelected OnMenuBackButtonSelected
 

Protected Member Functions

virtual bool Initialize () override
 
virtual void NativePreConstruct () override
 
virtual void NativeConstruct () override
 
- Protected Member Functions inherited from UMenuSystemWidget
virtual void ModalButtonSelected (const int32 Index)
 
void OnModalButtonSelectedEvent (const int32 Index)
 
virtual void ModalClosed ()
 
void OnModalClosedEvent ()
 
class UModalMenuSystemWidgetGetCurrentModal () const
 
void SetModalSlot (UPanelWidget *PanelWidget)
 
void SetNotificationSlot (UPanelWidget *PanelWidget)
 
- Protected Member Functions inherited from UBaseActivatableWidget
void LogDebugError (const FString &Message) const
 
void LogDebugError (const FString &Message, const int32 Value) const
 
void LogDebugError (const FString &Message, const float Value) const
 
void LogDebugWarning (const FString &Message) const
 
void LogDebugWarning (const FString &Message, const int32 Value) const
 
void LogDebugWarning (const FString &Message, const float Value) const
 
void LogDebugMessage (const FString &Message, const bool bWarning=false, const bool bError=false) const
 
void LogDebugMessage (const FString &Message, const int32 Value, const bool bWarning=false, const bool bError=false) const
 
void LogDebugMessage (const FString &Message, const float Value, const bool bWarning=false, const bool bError=false) const
 
void LogDebugMessage (const FString &Message, const bool bValue, const bool bWarning, const bool bError) const
 
void LogOnScreenMessage (const int32 Key, const FString &Message, FColor Color=FColor::Green) const
 
void SetCategoryName (const FLogCategoryBase &Category)
 

Protected Attributes

class UButton * BackgroundButton = nullptr
 
class UStackBox * MenuButtons = nullptr
 
class UTextBlock * MenuTitleText = nullptr
 
- Protected Attributes inherited from UMenuSystemWidget
IMenuSystemMenuInterface = nullptr
 
class IModalInterfaceModalInterface = nullptr
 
bool bIsController = false
 
bool bIsKeyboard = false
 
bool bMouse = false
 
- Protected Attributes inherited from UBaseActivatableWidget
bool bDebuggingMode = false
 

Private Member Functions

void BackgroundSelected ()
 
void MenuButtonClicked (const int32 Index)
 

Private Attributes

int32 MenuIndex = 0
 
TSubclassOf< class UUserWidget > SelectionButtonClass
 

Constructor & Destructor Documentation

◆ USingleMenuSystemWidget()

USingleMenuSystemWidget::USingleMenuSystemWidget ( const FObjectInitializer & ObjectInitializer)
explicit
13 : Super(ObjectInitializer)
14{
15 const ConstructorHelpers::FClassFinder<UUserWidget> SelectionButtonBP(TEXT("/MenuSystem/Widgets/CommonUI/WBP_SelectionButton"));
16 if (!ensure(SelectionButtonBP.Class != nullptr)) return;
17 SelectionButtonClass = SelectionButtonBP.Class;
18 bIsBackHandler = true;
19}
TSubclassOf< class UUserWidget > SelectionButtonClass
Definition SingleMenuSystemWidget.h:101

Member Function Documentation

◆ BackgroundSelected()

void USingleMenuSystemWidget::BackgroundSelected ( )
private
230{
231}

◆ ButtonSelectedEvent()

void USingleMenuSystemWidget::ButtonSelectedEvent ( const int32 Index)

◆ CheckButtonFocus()

int32 USingleMenuSystemWidget::CheckButtonFocus ( ) const
214{
215 for(int32 i = 0; i < MenuButtons->GetChildrenCount(); i++)
216 {
217 const USelectionButtonMenuSystem* SelectionButton = Cast<USelectionButtonMenuSystem>(MenuButtons->GetChildAt(i));
218 if(SelectionButton != nullptr)
219 {
220 if(SelectionButton->IsVisible() && !SelectionButton->GetIsDisabled())
221 {
222 return SelectionButton->GetButtonIndex();
223 }
224 }
225 }
226 return 0;
227}
Definition SelectionButtonMenuSystem.h:16
bool GetIsDisabled() const
Definition SelectionButtonMenuSystem.h:50
int32 GetButtonIndex() const
Definition SelectionButtonMenuSystem.h:43
class UStackBox * MenuButtons
Definition SingleMenuSystemWidget.h:88

◆ CreateSelectionButtons()

void USingleMenuSystemWidget::CreateSelectionButtons ( )
93{
94 MenuTitleText->SetText(FText::FromString(MenuTitle));
95 if(ButtonTextList.IsEmpty()){return;}
96
97 MenuButtons->ClearChildren();
98 if(SelectionButtonClass.Get() == nullptr){return;}
99 for(int32 i = 0; i < ButtonTextList.Num(); i++)
100 {
101 USelectionButtonMenuSystem* SelectionButton = WidgetTree->ConstructWidget<USelectionButtonMenuSystem>(SelectionButtonClass.Get());
102 if(SelectionButton == nullptr){continue;}
103
104 if(!ButtonTextList[i].IsEmpty())
105 {
106 SelectionButton->SetButtonText(ButtonTextList[i]);
107 //- Set to alt Text if the bool is set in the array //
108 if(AltTextButtons.IsValidIndex(i) && AltTextButtons[i] && AltButtonTextList.IsValidIndex(i))
109 {
110 if(!AltButtonTextList[i].IsEmpty())
111 {
112 SelectionButton->SetButtonText(AltButtonTextList[i]);
113 }
114 else
115 {
116 SelectionButton->SetButtonText("");
117 SelectionButton->SetVisibility(ESlateVisibility::Hidden);
118 }
119 }
120 SelectionButton->SetButtonIndex(i);
121 if(DisabledButtons.IsValidIndex(i))
122 {
123 SelectionButton->SetDisabled(DisabledButtons[i]);
124 }
125 }
126 else
127 {
128 if(AltTextButtons.IsValidIndex(i) && AltTextButtons[i] && AltButtonTextList.IsValidIndex(i))
129 {
130 if(!AltButtonTextList[i].IsEmpty())
131 {
132 SelectionButton->SetButtonText(AltButtonTextList[i]);
133 }
134 else
135 {
136 SelectionButton->SetButtonText("");
137 SelectionButton->SetVisibility(ESlateVisibility::Hidden);
138 }
139 SelectionButton->SetButtonIndex(i);
140 if(DisabledButtons.IsValidIndex(i))
141 {
142 SelectionButton->SetDisabled(DisabledButtons[i]);
143 }
144 }
145 else
146 {
147 //- Hide button but leave space //
148 SelectionButton->SetVisibility(ESlateVisibility::Hidden);
149 }
150 }
152 MenuButtons->AddChild(SelectionButton);
153 USpacer* Spacer = WidgetTree->ConstructWidget<USpacer>(USpacer::StaticClass());
154 if(Spacer != nullptr)
155 {
156 Spacer->SetSize(FVector2D(SpacerSize,SpacerSize));
157 MenuButtons->AddChild(Spacer);
158 }
159 }
160}
void SetDisabled(const bool bValue=true)
Definition SelectionButtonMenuSystem.h:48
FOnSelectionButtonClicked OnSelectionButtonClicked
Definition SelectionButtonMenuSystem.h:30
void SetButtonIndex(const int32 Index)
Definition SelectionButtonMenuSystem.h:41
void SetButtonText(FString Text) const
Definition SelectionButtonMenuSystem.cpp:107
TArray< FString > ButtonTextList
Definition SingleMenuSystemWidget.h:55
FString MenuTitle
Definition SingleMenuSystemWidget.h:49
class UTextBlock * MenuTitleText
Definition SingleMenuSystemWidget.h:90
TArray< bool > DisabledButtons
Definition SingleMenuSystemWidget.h:60
TArray< FString > AltButtonTextList
Definition SingleMenuSystemWidget.h:57
void MenuButtonClicked(const int32 Index)
Definition SingleMenuSystemWidget.cpp:202
TArray< bool > AltTextButtons
Definition SingleMenuSystemWidget.h:62
float SpacerSize
Definition SingleMenuSystemWidget.h:65

◆ DisableAllButtons()

void USingleMenuSystemWidget::DisableAllButtons ( ) const
177{
178 for(int32 i = 0; i < MenuButtons->GetChildrenCount(); i++)
179 {
180 USelectionButtonMenuSystem* SelectionButton = Cast<USelectionButtonMenuSystem>(MenuButtons->GetChildAt(i));
181 if(SelectionButton != nullptr)
182 {
183 SelectionButton->SetDisabled();
184 }
185 }
186}

◆ GetMenuIndex()

int32 USingleMenuSystemWidget::GetMenuIndex ( ) const
inline
41{return MenuIndex;};
int32 MenuIndex
Definition SingleMenuSystemWidget.h:95

◆ Initialize()

bool USingleMenuSystemWidget::Initialize ( )
overrideprotectedvirtual

Reimplemented from UMenuSystemWidget.

22{
23 const bool Success = Super::Initialize();
24 if(!Success) return false;
25 if (!ensure(BackgroundButton != nullptr)) return false;
26 if (!ensure(MenuButtons != nullptr)) return false;
27 if (!ensure(MenuTitleText != nullptr)) return false;
29 return true;
30}
void BackgroundSelected()
Definition SingleMenuSystemWidget.cpp:229
class UButton * BackgroundButton
Definition SingleMenuSystemWidget.h:86

◆ MenuButtonClicked()

void USingleMenuSystemWidget::MenuButtonClicked ( const int32 Index)
private
203{
204 ButtonSelectedEvent(Index);
205 OnMenuButtonSelected.Broadcast(Index);
206 OnMenuButtonWithTabSelected.Broadcast(Index, MenuIndex);
207 if(Index == BackButtonIndex)
208 {
209 OnMenuBackButtonSelected.Broadcast(false);
210 }
211}
FOnMenuBackButtonSelected OnMenuBackButtonSelected
Definition MenuSystemWidget.h:24
void ButtonSelectedEvent(const int32 Index)
FOnMenuButtonWithTabSelected OnMenuButtonWithTabSelected
Definition SingleMenuSystemWidget.h:24
int32 BackButtonIndex
Definition SingleMenuSystemWidget.h:67
FOnMenuButtonSelected OnMenuButtonSelected
Definition SingleMenuSystemWidget.h:22

◆ NativeConstruct()

void USingleMenuSystemWidget::NativeConstruct ( )
overrideprotectedvirtual

Reimplemented from UMenuSystemWidget.

87{
88 Super::NativeConstruct();
90}
void CreateSelectionButtons()
Definition SingleMenuSystemWidget.cpp:92

◆ NativeGetDesiredFocusTarget()

UWidget * USingleMenuSystemWidget::NativeGetDesiredFocusTarget ( ) const
overridevirtual
33{
34 for(int32 i = 0; i < MenuButtons->GetChildrenCount(); i++)
35 {
36 USelectionButtonMenuSystem* SelectionButton = Cast<USelectionButtonMenuSystem>(MenuButtons->GetChildAt(i));
37 if(SelectionButton != nullptr)
38 {
39 if(SelectionButton->IsVisible() && !SelectionButton->GetIsDisabled())
40 {
41 return SelectionButton;
42 }
43 }
44 }
45 return Super::NativeGetDesiredFocusTarget();
46}

◆ NativeOnActivated()

void USingleMenuSystemWidget::NativeOnActivated ( )
overridevirtual
55{
56 Super::NativeOnActivated();
57 for(int32 i = 0; i < MenuButtons->GetChildrenCount(); i++)
58 {
59 USelectionButtonMenuSystem* SelectionButton = Cast<USelectionButtonMenuSystem>(MenuButtons->GetChildAt(i));
60 if(SelectionButton != nullptr)
61 {
62 SelectionButton->SetTempDisabled(false);
63 }
64 }
65}
void SetTempDisabled(const bool bValue=true)
Definition SelectionButtonMenuSystem.cpp:54

◆ NativeOnDeactivated()

void USingleMenuSystemWidget::NativeOnDeactivated ( )
overridevirtual
68{
69 Super::NativeOnDeactivated();
70 for(int32 i = 0; i < MenuButtons->GetChildrenCount(); i++)
71 {
72 USelectionButtonMenuSystem* SelectionButton = Cast<USelectionButtonMenuSystem>(MenuButtons->GetChildAt(i));
73 if(SelectionButton != nullptr)
74 {
75 SelectionButton->SetTempDisabled(true);
76 }
77 }
78}

◆ NativeOnHandleBackAction()

bool USingleMenuSystemWidget::NativeOnHandleBackAction ( )
overridevirtual

Reimplemented from UMenuSystemWidget.

49{
50 OnMenuBackButtonSelected.Broadcast(false);
51 return Super::NativeOnHandleBackAction();
52}

◆ NativePreConstruct()

void USingleMenuSystemWidget::NativePreConstruct ( )
overrideprotectedvirtual
81{
82 Super::NativePreConstruct();
84}

◆ SetAllButtonsToAltText()

void USingleMenuSystemWidget::SetAllButtonsToAltText ( )
189{
190 for(int32 i = 0; i < MenuButtons->GetChildrenCount(); i++)
191 {
192 AltTextButtons[i] = true;
193 }
195}

◆ SetFromSingleMenuData()

void USingleMenuSystemWidget::SetFromSingleMenuData ( const FSingleMenu & SingleMenu)
163{
164 MenuTitle = SingleMenu.MenuTitle;
166 ButtonTextList = SingleMenu.ButtonTextList;
168 DisabledButtons = SingleMenu.DisabledButtons;
169 AltTextButtons = SingleMenu.AltTextButtons;
170 SpacerSize = SingleMenu.SpacerSize;
171 BackButtonIndex = SingleMenu.BackButtonIndex;
172 Layout = SingleMenu.Layout;
174}
FString DescriptionTitle
Definition SingleMenuSystemWidget.h:51
int32 Layout
Definition SingleMenuSystemWidget.h:69
int32 BackButtonIndex
Definition CommonUIData.h:43
FString DescriptionTitle
Definition CommonUIData.h:27
int32 Layout
Definition CommonUIData.h:46
TArray< bool > AltTextButtons
Definition CommonUIData.h:39
TArray< FString > AltButtonTextList
Definition CommonUIData.h:33
FString MenuTitle
Definition CommonUIData.h:25
TArray< bool > DisabledButtons
Definition CommonUIData.h:37
TArray< FString > ButtonTextList
Definition CommonUIData.h:31
float SpacerSize
Definition CommonUIData.h:41

◆ SetIsBackHandler()

void USingleMenuSystemWidget::SetIsBackHandler ( const bool bValue)
198{
199 bIsBackHandler = bValue;
200}

◆ SetMenuIndex()

void USingleMenuSystemWidget::SetMenuIndex ( const int32 Index)
inline
39{MenuIndex = Index;};

Member Data Documentation

◆ AltButtonTextList

TArray<FString> USingleMenuSystemWidget::AltButtonTextList

◆ AltTextButtons

TArray<bool> USingleMenuSystemWidget::AltTextButtons

◆ BackButtonIndex

int32 USingleMenuSystemWidget::BackButtonIndex = 5

◆ BackgroundButton

class UButton* USingleMenuSystemWidget::BackgroundButton = nullptr
protected

◆ ButtonTextList

TArray<FString> USingleMenuSystemWidget::ButtonTextList

◆ DescriptionTitle

FString USingleMenuSystemWidget::DescriptionTitle = "Description"

◆ DisabledButtons

TArray<bool> USingleMenuSystemWidget::DisabledButtons

◆ Layout

int32 USingleMenuSystemWidget::Layout = 1

◆ MenuButtons

class UStackBox* USingleMenuSystemWidget::MenuButtons = nullptr
protected

◆ MenuIndex

int32 USingleMenuSystemWidget::MenuIndex = 0
private

◆ MenuTitle

FString USingleMenuSystemWidget::MenuTitle = "Menu Title"

◆ MenuTitleText

class UTextBlock* USingleMenuSystemWidget::MenuTitleText = nullptr
protected

◆ OnMenuButtonSelected

FOnMenuButtonSelected USingleMenuSystemWidget::OnMenuButtonSelected

◆ OnMenuButtonWithTabSelected

FOnMenuButtonWithTabSelected USingleMenuSystemWidget::OnMenuButtonWithTabSelected

◆ SelectionButtonClass

TSubclassOf<class UUserWidget> USingleMenuSystemWidget::SelectionButtonClass
private

◆ SpacerSize

float USingleMenuSystemWidget::SpacerSize = 17.0f

The documentation for this class was generated from the following files: