Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
SettingFieldWidget.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UI/UserWidgetBase.h"
8#include "Types/SlateEnums.h"
10#include "SettingFieldWidget.generated.h"
11
12
13class UCheckBox;
14class USlider;
15class UComboBoxKey;
16class UTextBlock;
17class UImage;
18class UWidget;
22UCLASS(Abstract)
23class CK_UE_API USettingFieldWidget : public UUserWidget
24{
25 GENERATED_BODY()
26
27public:
28 void SetSettingValueRef(EUserGameSetting InSettingType, FSettingsBase& Settings, UUserGameSettings* InOwningSettings = nullptr);
29
30public:
31 UFUNCTION(BlueprintCallable, Category = "Widget")
32 virtual void SetSettingValueRef(FSettingsBase& Settings);
33
34public:
35 FORCEINLINE FSettingsBase* GetSettingsBase() const
36 {
37 return SettingsBase;
38 }
39
40protected:
41 void TryApplyGameSettings(const FSettingsBase* Settings) const;
42
43protected:
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widget", meta = (BindWidget))
45 TObjectPtr<UImage> BackgroundImage;
46
47 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widget", meta = (BindWidget))
48 TObjectPtr<UTextBlock> TextBlock;
49
50protected:
51 UPROPERTY(Transient)
53
54 UPROPERTY(Transient)
55 TWeakObjectPtr<UUserGameSettings> OwningSettings;
56
57protected:
58 FSettingsBase* SettingsBase = nullptr;
59};
60
61
62FORCEINLINE void USettingFieldWidget::SetSettingValueRef(const EUserGameSetting InSettingType, FSettingsBase& Settings, UUserGameSettings* InOwningSettings)
63{
64 SettingType = InSettingType;
65 OwningSettings = InOwningSettings;
66 SetSettingValueRef(Settings);
67}
68
69
70UCLASS(Blueprintable)
72{
73 GENERATED_BODY()
74
75public:
76 using Super::SetSettingValueRef;
77 virtual void SetSettingValueRef(FSettingsBase& Settings) override;
78
79protected:
80 UFUNCTION()
81 void OnToggleBoxToggled(bool bIsChecked);
82
83protected:
84 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widget", meta = (BindWidget))
85 TObjectPtr<UCheckBox> ToggleBox;
86};
87
88
89UCLASS(Blueprintable)
91{
92 GENERATED_BODY()
93
94public:
95 using Super::SetSettingValueRef;
96 virtual void SetSettingValueRef(FSettingsBase& Settings) override;
97
98protected:
99 UFUNCTION()
100 void OnSliderValueChanged(float Value);
101
102protected:
103 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widget", meta = (BindWidget))
104 TObjectPtr<USlider> MinMaxSlider;
105};
106
107
108UCLASS(Blueprintable)
110{
111 GENERATED_BODY()
112
113public:
114 using Super::SetSettingValueRef;
115 virtual void SetSettingValueRef(FSettingsBase& Settings) override;
116
117protected:
118 UFUNCTION()
119 void OnDropdownSelectionChanged(FName SelectedItem, ESelectInfo::Type SelectionType);
120
121protected:
122 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widget", meta = (BindWidget))
123 TObjectPtr<UComboBoxKey> DropdownBox;
124};
EUserGameSetting
Definition EUserGameSettingHeader.h:18
static constexpr FGlobalUserSettingsRuntime None
Definition GlobalUserSettingsRuntime.cpp:6
Definition SettingFieldWidget.h:110
Definition SettingFieldWidget.h:24
FORCEINLINE FSettingsBase * GetSettingsBase() const
Definition SettingFieldWidget.h:35
Definition SettingFieldWidget.h:91
Definition SettingFieldWidget.h:72
Definition UserGameSettings.h:362
Definition UserGameSettings.h:170