#include <TitleOptionPopupWidget.h>
◆ AddSettingField()
template<typename TFieldWidget , typename TSettings >
225{
227 {
228 LOG_ERROR(LogCK,
"SB_SettingList 또는 LocalUserGameSettings가 nullptr입니다.");
229 return;
230 }
231
232 TSubclassOf<TFieldWidget> WidgetClass =
LocalUserGameSettings->GetSettingFieldWidgetClass<TFieldWidget>();
233
234 if (WidgetClass == nullptr)
235 {
236 LOG_ERROR(LogCK,
"%s WidgetClass가 nullptr입니다.", *TFieldWidget::StaticClass()->GetName());
237 return;
238 }
239
240 TFieldWidget* FieldWidget = CreateWidget<TFieldWidget>(this, WidgetClass);
241
242 if (FieldWidget == nullptr)
243 {
244 LOG_ERROR(LogCK,
"%s 생성에 실패했습니다.", *TFieldWidget::StaticClass()->GetName());
245 return;
246 }
247
249
251 check(Option);
253}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
◆ AddSettingFieldBySettingStruct()
| void UTitleOptionPopupWidget::AddSettingFieldBySettingStruct |
( |
EUserGameSetting |
SettingType, |
|
|
const FInstancedStruct & |
SettingStruct |
|
) |
| |
|
protected |
200{
202 {
203 AddSettingField<USettingDropdownFieldWidget, FDropdownSettings>(SettingType);
204 return;
205 }
206
208 {
209 AddSettingField<USettingToggleFieldWidget, FToggleSettings>(SettingType);
210 return;
211 }
212
214 {
215 AddSettingField<USettingSliderFieldWidget, FMinMaxSliderSettings>(SettingType);
216 return;
217 }
218
219 LOG_ERROR(LogCK,
"%s의 Settings 타입을 FieldWidget으로 변환할 수 없습니다.", *Utils::EnumToString(SettingType));
220}
Definition UserGameSettings.h:266
Definition UserGameSettings.h:217
Definition UserGameSettings.h:243
◆ InitializeLocalUserGameSettings()
| bool UTitleOptionPopupWidget::InitializeLocalUserGameSettings |
( |
| ) |
|
|
protected |
43{
45
46 if (DataSubsystem == nullptr)
47 {
49 return false;
50 }
51
53 {
54 LOG_ERROR(LogCK,
"UserGameSettings가 nullptr입니다.");
55 return false;
56 }
57
59
61 {
62 LOG_ERROR(LogCK,
"LocalUserGameSettings 생성에 실패했습니다.");
63 return false;
64 }
65
67 return true;
68}
#define NAMEOF(Type)
Definition CK_UE.h:30
Definition UserSettingSubsystem.h:17
FORCEINLINE UUserGameSettings * GetUserGameSettings() const
Definition UserSettingSubsystem.h:39
void ApplySaveGameToUserGameSettings(UUserGameSettings *RuntimeSettings=nullptr) const
Definition UserSettingSubsystem.cpp:234
◆ NativeConstruct()
| void UTitleOptionPopupWidget::NativeConstruct |
( |
| ) |
|
|
overrideprotectedvirtual |
17{
18 Super::NativeConstruct();
19
21 ({
25 });
26
28 {
29 if (Button)
30 {
32 }
33 }
34
36 {
38 }
39}
◆ NativeDestruct()
| void UTitleOptionPopupWidget::NativeDestruct |
( |
| ) |
|
|
overrideprotectedvirtual |
72{
74 {
75 if (Button)
76 {
77 Button->OnContextButtonClicked.RemoveAll(this);
78 }
79 }
80
82 {
84 }
85
87 {
89 }
90
93
94 Super::NativeDestruct();
95}
◆ OnActivated()
| void UTitleOptionPopupWidget::OnActivated |
( |
| ) |
|
|
overridevirtual |
UUserWidgetBase(으)로부터 재구현되었습니다.
99{
100 Super::OnActivated();
101
103 {
105 }
106 else
107 {
109 }
110}
◆ OnExitButtonClicked()
| void UTitleOptionPopupWidget::OnExitButtonClicked |
( |
| ) |
|
|
protected |
136{
138
139 if (DataSubsystem == nullptr)
140 {
142 Close(EPopupResult::Cancelled);
143 return;
144 }
145
147 {
148 LOG_ERROR(LogCK,
"LocalUserGameSettings가 nullptr입니다.");
149 Close(EPopupResult::Cancelled);
150 return;
151 }
152
156
158 {
160 }
161 else
162 {
164 }
165
166 Close(EPopupResult::Confirmed);
167}
#define LOG_INFO(Category, Format,...)
Definition CK_UE.h:38
#define LOG_WARNING(Category, Format,...)
Definition CK_UE.h:39
bool SaveUserGameSettingsSaveGame() const
Definition UserSettingSubsystem.cpp:115
void ApplyUserGameSettingsToSaveGame(const UUserGameSettings *RuntimeSettings=nullptr) const
Definition UserSettingSubsystem.cpp:129
void ApplyUserGameSettingsToCurrentGame(const UUserGameSettings *RuntimeSettings=nullptr) const
Definition UserSettingSubsystem.cpp:154
◆ OnSideButtonClicked()
| void UTitleOptionPopupWidget::OnSideButtonClicked |
( |
UContextButton * |
ButtonContext | ) |
|
|
protected |
114{
116 {
117 return;
118 }
119
122
124
125 if (Button == nullptr)
126 {
128 return;
129 }
130
132}
◆ OnSideButtonClicked_Internal()
◆ RebuildSettingList()
171{
173 {
174 LOG_ERROR(LogCK,
"LocalUserGameSettings가 nullptr입니다.");
175 return;
176 }
177
179 {
180 LOG_ERROR(LogCK,
"SB_SettingList가 nullptr입니다.");
181 return;
182 }
183
185 TXT_OptionHeader->SetText(FText::FromString(Utils::EnumToString(SettingCategory)));
186
188 {
190 }
191
193 {
195 }
196}
◆ BTN_Audio
◆ BTN_Control
◆ BTN_Exit
| TObjectPtr<UButton> UTitleOptionPopupWidget::BTN_Exit |
|
protected |
◆ BTN_Video
◆ Buttons
◆ LastClickedButton
◆ LocalUserGameSettings
◆ SB_SettingList
| TObjectPtr<UScrollBox> UTitleOptionPopupWidget::SB_SettingList |
|
protected |
◆ TXT_OptionHeader
| TObjectPtr<UTextBlock> UTitleOptionPopupWidget::TXT_OptionHeader |
|
protected |
이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: