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

#include <InGameMenuSystemWidget.h>

Inheritance diagram for UInGameMenuSystemWidget:
UMenuSystemWidget UBaseActivatableWidget

Public Member Functions

void LeaveMultiplayerGame ()
 
virtual UWidget * NativeGetDesiredFocusTarget () const override
 
- 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
 

Protected Member Functions

virtual bool Initialize () override
 
virtual void NativeConstruct () override
 
virtual void ModalButtonSelected (const int32 Index) override
 
virtual void ModalClosed () override
 
virtual void NativeOnActivated () override
 
virtual void NativeOnDeactivated () override
 
virtual bool NativeOnHandleBackAction () override
 
void BackButtonClicked ()
 
void RestartLevelButtonClicked ()
 
- Protected Member Functions inherited from UMenuSystemWidget
void OnModalButtonSelectedEvent (const int32 Index)
 
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 USingleMenuSystemWidgetPauseMenu = nullptr
 
TArray< bool > MultiplayerButtons = { false, false, true, true, true }
 
- 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 PauseMenuButtonSelected (const int32 Index)
 
void OpenOptionsMenu ()
 
void MainMenuButtonClicked ()
 
void OpenScoreboard ()
 
void SaveGame ()
 
void ExitGame ()
 

Additional Inherited Members

- Public Attributes inherited from UMenuSystemWidget
FOnMenuBackButtonSelected OnMenuBackButtonSelected
 

Member Function Documentation

◆ BackButtonClicked()

void UInGameMenuSystemWidget::BackButtonClicked ( )
protected
107{
108 if(MenuInterface == nullptr){return;}
109 APlayerController* PlayerControllerReference = GetOwningPlayer();
110 if (!ensure(PlayerControllerReference != nullptr)) return;
111 MenuInterface->LaunchInGameMenu(PlayerControllerReference, false);
112}
virtual void LaunchInGameMenu(APlayerController *Player, const bool bOpen=true)=0
IMenuSystem * MenuInterface
Definition MenuSystemWidget.h:69

◆ ExitGame()

void UInGameMenuSystemWidget::ExitGame ( )
private
185{
186 const UWorld* World = GetWorld();
187 if(!ensure(World != nullptr)) return;
188 APlayerController* PlayerControllerReference = GetOwningPlayer();
189 if(!ensure(PlayerControllerReference != nullptr)) return;
190 if(World->GetNetMode() == NM_ListenServer)
191 {
192 AGameModeBase* GameMode = World->GetAuthGameMode<AGameModeBase>();
193 if(GameMode)
194 {
196 GameMode->ReturnToMainMenuHost();
197 }
198 }
199 else
200 {
201 if (PlayerControllerReference)
202 {
204 PlayerControllerReference->ClientReturnToMainMenuWithTextReason(FText::FromString("Back to main menu"));
205 }
206 }
207}
void LeaveMultiplayerGame()
Definition InGameMenuSystemWidget.cpp:31

◆ Initialize()

bool UInGameMenuSystemWidget::Initialize ( )
overrideprotectedvirtual

Reimplemented from UMenuSystemWidget.

13{
14 const bool Success = Super::Initialize();
15 if(!Success) return false;
17 bIsBackHandler = true;
18 return true;
19}
void PauseMenuButtonSelected(const int32 Index)
Definition InGameMenuSystemWidget.cpp:123
class USingleMenuSystemWidget * PauseMenu
Definition InGameMenuSystemWidget.h:39
FOnMenuButtonSelected OnMenuButtonSelected
Definition SingleMenuSystemWidget.h:22

◆ LeaveMultiplayerGame()

void UInGameMenuSystemWidget::LeaveMultiplayerGame ( )
32{
33 if(MenuInterface != nullptr)
34 {
36 }
37}
virtual void DestroySession()=0

◆ MainMenuButtonClicked()

void UInGameMenuSystemWidget::MainMenuButtonClicked ( )
private
49{
50 const FModalData ModalData = FModalData(true);
51 OpenConfirmationMessage(ModalData);
52 DeactivateWidget();
53}
virtual void OpenConfirmationMessage(const FModalData &ModalData)
Definition MenuSystemWidget.cpp:69
Definition MenuData.h:266

◆ ModalButtonSelected()

void UInGameMenuSystemWidget::ModalButtonSelected ( const int32 Index)
overrideprotectedvirtual

Reimplemented from UMenuSystemWidget.

62{
63 Super::ModalButtonSelected(Index);
64 if(GetCurrentModal() != nullptr)
65 {
66 if(Index == GetCurrentModal()->GetMainButtonIndex())
67 {
68 ExitGame();
69 return;
70 }
72 ActivateWidget();
73 }
74}
void ExitGame()
Definition InGameMenuSystemWidget.cpp:184
class UModalMenuSystemWidget * GetCurrentModal() const
Definition MenuSystemWidget.h:92
void CloseWindow()
Definition ModalMenuSystemWidget.cpp:269

◆ ModalClosed()

void UInGameMenuSystemWidget::ModalClosed ( )
overrideprotectedvirtual

Reimplemented from UMenuSystemWidget.

77{
78 Super::ModalClosed();
79 ActivateWidget();
80}

◆ NativeConstruct()

void UInGameMenuSystemWidget::NativeConstruct ( )
overrideprotectedvirtual

Reimplemented from UMenuSystemWidget.

22{
23 Super::NativeConstruct();
24 if(GetIsOnlineGame())
25 {
28 }
29}
TArray< bool > MultiplayerButtons
Definition InGameMenuSystemWidget.h:42
bool GetIsOnlineGame() const
Definition MenuSystemWidget.cpp:125
void CreateSelectionButtons()
Definition SingleMenuSystemWidget.cpp:92
TArray< bool > AltTextButtons
Definition SingleMenuSystemWidget.h:62

◆ NativeGetDesiredFocusTarget()

UWidget * UInGameMenuSystemWidget::NativeGetDesiredFocusTarget ( ) const
overridevirtual
40{
41 if(PauseMenu != nullptr)
42 {
43 return PauseMenu->GetDesiredFocusTarget();
44 }
45 return Super::NativeGetDesiredFocusTarget();
46}

◆ NativeOnActivated()

void UInGameMenuSystemWidget::NativeOnActivated ( )
overrideprotectedvirtual
83{
84 Super::NativeOnActivated();
85 if(PauseMenu != nullptr)
86 {
87 PauseMenu->ActivateWidget();
88 }
89}

◆ NativeOnDeactivated()

void UInGameMenuSystemWidget::NativeOnDeactivated ( )
overrideprotectedvirtual
92{
93 Super::NativeOnDeactivated();
94 if(PauseMenu != nullptr)
95 {
96 PauseMenu->DeactivateWidget();
97 }
98}

◆ NativeOnHandleBackAction()

bool UInGameMenuSystemWidget::NativeOnHandleBackAction ( )
overrideprotectedvirtual

Reimplemented from UMenuSystemWidget.

101{
103 return Super::NativeOnHandleBackAction();
104}
void BackButtonClicked()
Definition InGameMenuSystemWidget.cpp:106

◆ OpenOptionsMenu()

void UInGameMenuSystemWidget::OpenOptionsMenu ( )
private
171{
172 if(MenuInterface != nullptr && GetOwningPlayer() != nullptr)
173 {
174 MenuInterface->LaunchOptionsMenu(GetOwningPlayer(), this);
175 }
176}
virtual void LaunchOptionsMenu(APlayerController *Player, UUserWidget *CurrentWidget, const bool bOpen=true)=0

◆ OpenScoreboard()

void UInGameMenuSystemWidget::OpenScoreboard ( )
private
56{
57 //@TODO Open scoreboard //
58 if(GetDebuggingMode()){UE_LOG(LogMenuSystem, Warning, TEXT("Open Scoreboard"));}
59}
virtual bool GetDebuggingMode() const
Definition MenuSystemWidget.cpp:137

◆ PauseMenuButtonSelected()

void UInGameMenuSystemWidget::PauseMenuButtonSelected ( const int32 Index)
private
124{
125 switch (Index)
126 {
127 default:
128 case 0:
129 //- Resume //
131 break;
132 case 1:
133 //- Options //
135 break;
136 case 2:
137 //- Open Scoreboard //
138 if(GetIsOnlineGame())
139 {
141 return;
142 }
143 //- Save Game //
144 SaveGame();
145 break;
146 case 3:
147 //- //
148 if(GetIsOnlineGame())
149 {
150
151 return;
152 }
153 //- Load Last Checkpoint? //
154
155 //@TODO Load Checkpoint //
156 break;
157 case 4:
158 //- Restart Level //
160 break;
161 case 5:
162 //- Main Menu //
164 break;
165 case 6:
166 break;
167 }
168}
void SaveGame()
Definition InGameMenuSystemWidget.cpp:178
void OpenOptionsMenu()
Definition InGameMenuSystemWidget.cpp:170
void RestartLevelButtonClicked()
Definition InGameMenuSystemWidget.cpp:114
void OpenScoreboard()
Definition InGameMenuSystemWidget.cpp:55
void MainMenuButtonClicked()
Definition InGameMenuSystemWidget.cpp:48

◆ RestartLevelButtonClicked()

void UInGameMenuSystemWidget::RestartLevelButtonClicked ( )
protected
115{
116 if(MenuInterface != nullptr)
117 {
119 }
121}
virtual void RestartLevel() const =0

◆ SaveGame()

void UInGameMenuSystemWidget::SaveGame ( )
private
179{
180 //@TODO Save Game //
181 if(GetDebuggingMode()){UE_LOG(LogMenuSystem, Warning, TEXT("Save Game"));}
182}

Member Data Documentation

◆ MultiplayerButtons

TArray<bool> UInGameMenuSystemWidget::MultiplayerButtons = { false, false, true, true, true }
protected
42{ false, false, true, true, true };

◆ PauseMenu

class USingleMenuSystemWidget* UInGameMenuSystemWidget::PauseMenu = nullptr
protected

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