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

#include <LevelSelectionSingleWidget.h>

Inheritance diagram for ULevelSelectionSingleWidget:

Public Member Functions

void Setup (class ULevelSelectionWidget *Parent, const uint32 Index)
 
void SetAsSelected (const bool bIsSelected)
 
void SetGameLevelData (const FGameLevel &GameLevel)
 
void LevelSelectButtonClicked ()
 
bool GetIsSelected () const
 
FGameLevel GetGameLevelData () const
 
void SetButtonFocus () const
 

Public Attributes

class UButton * LevelSelectButton
 

Protected Member Functions

virtual bool Initialize () override
 

Protected Attributes

bool bShowDebugInfo = false
 
FLinearColor SelectedColor
 
class UTextBlock * LevelNameText
 
class UTextBlock * DescriptionText
 
class UTextBlock * DebugText
 
class UImage * LevelImage
 

Private Attributes

class ULevelSelectionWidgetLevelSelectionWidget
 
uint32 IndexNumber = 0
 
FLinearColor DefaultColor
 
bool bSelected = false
 
FGameLevel GameLevelData
 

Member Function Documentation

◆ GetGameLevelData()

FGameLevel ULevelSelectionSingleWidget::GetGameLevelData ( ) const
inline
33{return GameLevelData;}
FGameLevel GameLevelData
Definition LevelSelectionSingleWidget.h:67

◆ GetIsSelected()

bool ULevelSelectionSingleWidget::GetIsSelected ( ) const
inline
31{return bSelected;}
bool bSelected
Definition LevelSelectionSingleWidget.h:65

◆ Initialize()

bool ULevelSelectionSingleWidget::Initialize ( )
overrideprotectedvirtual
20{
21 const bool Success = Super::Initialize();
22 if(!Success) return false;
23 if (!ensure(LevelNameText != nullptr)) return false;
24 if (!ensure(DescriptionText != nullptr)) return false;
25 if (!ensure(DebugText != nullptr)) return false;
26 if (!ensure(LevelImage != nullptr)) return false;
27 if (!ensure(LevelSelectButton != nullptr)) return false;
28
30 DefaultColor = LevelSelectButton->GetColorAndOpacity();
31 return true;
32}
class UImage * LevelImage
Definition LevelSelectionSingleWidget.h:57
class UTextBlock * DebugText
Definition LevelSelectionSingleWidget.h:55
class UTextBlock * LevelNameText
Definition LevelSelectionSingleWidget.h:51
class UButton * LevelSelectButton
Definition LevelSelectionSingleWidget.h:40
FLinearColor DefaultColor
Definition LevelSelectionSingleWidget.h:64
class UTextBlock * DescriptionText
Definition LevelSelectionSingleWidget.h:53
void LevelSelectButtonClicked()
Definition LevelSelectionSingleWidget.cpp:91

◆ LevelSelectButtonClicked()

void ULevelSelectionSingleWidget::LevelSelectButtonClicked ( )
92{
93 if(LevelSelectionWidget != nullptr)
94 {
96 }
97}
uint32 IndexNumber
Definition LevelSelectionSingleWidget.h:63
class ULevelSelectionWidget * LevelSelectionWidget
Definition LevelSelectionSingleWidget.h:62
void SelectIndex(const uint32 Index, const FGameLevel &GameLevel)
Definition LevelSelectionWidget.cpp:32

◆ SetAsSelected()

void ULevelSelectionSingleWidget::SetAsSelected ( const bool bIsSelected)
35{
36 bSelected = bIsSelected;
37 if(bIsSelected)
38 {
39 LevelSelectButton->SetColorAndOpacity(SelectedColor);
40 }
41 else
42 {
43 LevelSelectButton->SetColorAndOpacity(DefaultColor);
44 }
45}
FLinearColor SelectedColor
Definition LevelSelectionSingleWidget.h:48

◆ SetButtonFocus()

void ULevelSelectionSingleWidget::SetButtonFocus ( ) const
48{
49 if(LevelSelectButton != nullptr)
50 {
51 if(GetOwningPlayer() != nullptr)
52 {
53 LevelSelectButton->SetUserFocus(GetOwningPlayer());
54 }
55 else
56 {
57 LevelSelectButton->SetKeyboardFocus();
58 }
59 }
60}

◆ SetGameLevelData()

void ULevelSelectionSingleWidget::SetGameLevelData ( const FGameLevel & GameLevel)
63{
64 if(!GameLevel.IsValid()){UE_LOG(LogMenuSystem, Error, TEXT("GameLevel data invalid for Level Select Single widget"));return;}
65 GameLevelData = GameLevel;
66 LevelNameText->SetText(FText::FromString(GameLevel.LevelName));
67 DescriptionText->SetText(FText::FromString(GameLevel.LevelDescription));
68 if(LevelImage != nullptr)
69 {
70 LevelImage->SetBrushFromTexture(GameLevel.LevelThumbnail);
71 }else{UE_LOG(LogMenuSystem, Warning, TEXT("Level Image Null in %s"), *GameLevel.LevelName);}
72 FString DebugMessage = "";
73 if(GameLevel.bCampaignPlayable)
74 {
75 DebugMessage += "Campaign Playable ";
76 }
77 if(GameLevel.bHordePlayable)
78 {
79 DebugMessage += "Horde Playable ";
80 }
81 if(GameLevel.bMultiplayerPlayable)
82 {
83 DebugMessage += "Multiplayer Playable ";
84 }
85 if(GameLevel.bDebugMap)
86 {
87 DebugMessage += "Debug Map ";
88 }
89}
class UTexture2D * LevelThumbnail
Definition MenuData.h:124
FString LevelName
Definition MenuData.h:119
bool bMultiplayerPlayable
Definition MenuData.h:129
bool bHordePlayable
Definition MenuData.h:135
bool IsValid() const
Definition MenuData.h:150
bool bCampaignPlayable
Definition MenuData.h:133
bool bDebugMap
Definition MenuData.h:137
FString LevelDescription
Definition MenuData.h:126

◆ Setup()

void ULevelSelectionSingleWidget::Setup ( class ULevelSelectionWidget * Parent,
const uint32 Index )
11{
12 LevelSelectionWidget = Parent;
13 IndexNumber = Index;
14}

Member Data Documentation

◆ bSelected

bool ULevelSelectionSingleWidget::bSelected = false
private

◆ bShowDebugInfo

bool ULevelSelectionSingleWidget::bShowDebugInfo = false
protected

◆ DebugText

class UTextBlock* ULevelSelectionSingleWidget::DebugText
protected

◆ DefaultColor

FLinearColor ULevelSelectionSingleWidget::DefaultColor
private

◆ DescriptionText

class UTextBlock* ULevelSelectionSingleWidget::DescriptionText
protected

◆ GameLevelData

FGameLevel ULevelSelectionSingleWidget::GameLevelData
private

◆ IndexNumber

uint32 ULevelSelectionSingleWidget::IndexNumber = 0
private

◆ LevelImage

class UImage* ULevelSelectionSingleWidget::LevelImage
protected

◆ LevelNameText

class UTextBlock* ULevelSelectionSingleWidget::LevelNameText
protected

◆ LevelSelectButton

class UButton* ULevelSelectionSingleWidget::LevelSelectButton

◆ LevelSelectionWidget

class ULevelSelectionWidget* ULevelSelectionSingleWidget::LevelSelectionWidget
private

◆ SelectedColor

FLinearColor ULevelSelectionSingleWidget::SelectedColor
protected

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