KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UPopup_InterviewHello.h
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved.
2// Unauthorized copying, modification, or distribution of this file,
3// via any medium is strictly prohibited. Proprietary and confidential.
4
5#pragma once
6
7#include "CoreMinimal.h"
8#include "UBasePopup.h"
9#include "NetworkData.h"
10#include "UPopup_InterviewHello.generated.h"
11
18UCLASS()
19class ONEPIECE_API UPopup_InterviewHello : public UBasePopup
20{
21 GENERATED_BODY()
22
23public:
28 UFUNCTION(BlueprintCallable, Category = "Popup")
29 void InitPopup(const FResponseInterviewHello& InterviewData);
30
36 static bool ShouldSkipInterviewToday(const UObject* WorldContextObject);
37
38protected:
39 virtual void NativeConstruct() override;
40
41private:
42 // ===================================================================
43 // UI Update Methods
44 // ===================================================================
45
47 void RefreshUI();
48
50 void RefreshArrowButton();
51
53 void RefreshSubmitButtonState();
54
56 void RefreshProgressBar();
57
58 // ===================================================================
59 // Answer Management
60 // ===================================================================
61
63 void SaveCurrentAnswer();
64
66 void LoadCurrentAnswer();
67
68 // ===================================================================
69 // Button Events
70 // ===================================================================
71
73 UFUNCTION()
74 void OnClickPrevArrow();
75
77 UFUNCTION()
78 void OnClickNextArrow();
79
81 UFUNCTION()
82 void OnClickNext();
83
85 UFUNCTION()
86 void OnClickSubmit();
87
89 UFUNCTION()
90 void OnClickClose();
91
93 UFUNCTION()
94 void OnCheckToday(bool bIsChecked);
95
97 UFUNCTION()
98 void OnAnswerTextChanged(const FText& Text);
99
100 // ===================================================================
101 // API Response Callback
102 // ===================================================================
103
105 UFUNCTION()
106 void OnResponseInterviewAnswer(FResponseInterviewAnswer& ResponseData, bool bWasSuccessful);
107
108protected:
109 // ===================================================================
110 // UI Widgets (BindWidget)
111 // ===================================================================
112
114 UPROPERTY(meta = (BindWidget))
115 TObjectPtr<class UTextBlock> Txt_Title;
116
118 UPROPERTY(meta = (BindWidget))
119 TObjectPtr<class UTextBlock> TXt_Question;
120
122 UPROPERTY(meta = (BindWidget))
123 TObjectPtr<class UEditableText> Edit_Answer;
124
126 UPROPERTY(meta = (BindWidget))
127 TObjectPtr<class UProgressBar> ProgressBar_Question;
128
130 UPROPERTY(meta = (BindWidget))
131 TObjectPtr<class UTextureButton> Button_PrevArrow;
132
134 UPROPERTY(meta = (BindWidget))
135 TObjectPtr<class UTextureButton> Button_NextArrow;
136
138 UPROPERTY(meta = (BindWidget))
139 TObjectPtr<class UImageButton> Btn_Next;
140
142 UPROPERTY(meta = (BindWidget))
143 TObjectPtr<class UImageButton> Btn_Submit;
144
146 UPROPERTY(meta = (BindWidget))
147 TObjectPtr<class UCheckBox> Button_CheckToday;
148
150 UPROPERTY(meta = (BindWidget))
151 TObjectPtr<class UTextureButton> Btn_Close;
152
153private:
154 // ===================================================================
155 // Member Variables
156 // ===================================================================
157
159 TArray<FInterviewQuestionData> SavedQuestions;
160
162 TArray<FString> TempAnswers;
163
165 int32 CurQuestionIndex = 0;
166
168 bool bCheckTodayDoNotShow = false;
169};
네트워크 요청과 응답에 사용되는 구조체 및 설정을 정의합니다.
모든 팝업의 기본 클래스
Definition UBasePopup.h:19
UImageButton
Interview Popup - Duolingo Style (Single Question Mode)
심플한 텍스쳐 기반 버튼 위젯