47 virtual void NativeConstruct()
override;
48 virtual void NativeDestruct()
override;
55 void InitPopup(
const TArray<struct FWordData>& WordDataArray);
57 FString GetCurrentQuestionText()
const;
63 void LoadCurQuestion();
66 void MoveToNextQuestion();
69 void ShowCorrectData(
bool bIsCorrect);
76 void OnAudioCapture(
bool bIsRecording);
81 void StartThinkTimer();
82 void UpdateThinkTimer();
83 void OnThinkTimeFinished();
86 void OnCountDownFinished();
89 UPROPERTY(meta = (BindWidget))
90 TObjectPtr<class UTextBlock> Txt_CurScore;
92 UPROPERTY(meta = (BindWidget))
95 UPROPERTY(meta = (BindWidget))
96 TObjectPtr<class UCanvasPanel> Canvas_Question;
98 UPROPERTY(meta = (BindWidget))
99 TObjectPtr<class UBorder> Border_Question;
101 UPROPERTY(meta = (BindWidget), BlueprintReadOnly)
102 TObjectPtr<class URichTextBlock> Rich_Text;
104 UPROPERTY(meta = (BindWidget), BlueprintReadOnly)
105 TObjectPtr<class UTextBlock> Txt_SubTitle;
107 UPROPERTY(meta = (BindWidget))
108 TObjectPtr<class UTextBlock> Txt_Infomation;
110 UPROPERTY(meta = (BindWidget))
111 TObjectPtr<class UTextBlock> Txt_QuestionProgress;
113 UPROPERTY(meta = (BindWidget))
114 TObjectPtr<class UTextBlock> Txt_RemainTime;
116 UPROPERTY(meta = (BindWidget))
121 UPROPERTY(meta = (BindWidget))
122 TObjectPtr<class UCanvasPanel> Canvas_Correct;
124 UPROPERTY(meta = (BindWidget))
125 TObjectPtr<class UImage> Img_Correct;
127 UPROPERTY(meta = (BindWidget))
128 TObjectPtr<class UTextBlock> Txt_Correct;
131 UPROPERTY(meta = (BindWidget))
148 int32 CurrentScore = 0;
149 int32 CorrectAnswerCount = 0;
152 FTimerHandle NextTimerHandle;
153 FTimerHandle ThinkingTimerHandle;
155 float RemainingThinkTime = 0.f;
158 bool bLastAnswerCorrect = false;
166 TObjectPtr<class UMediaPlayer> MediaPlayer;
170 TObjectPtr<class UMediaTexture> MediaTexture;
173 UPROPERTY(EditDefaultsOnly, Category = "Media")
174 TObjectPtr<class UMediaSource> CorrectVideoSource;
177 UPROPERTY(EditDefaultsOnly, Category = "Media")
178 TObjectPtr<class UMediaSource> WrongVideoSource;
181 UPROPERTY(EditDefaultsOnly, Category = "Media", meta = (ClampMin = "0.0"))
182 float VideoStartTime = 0.0f;
185 UPROPERTY(EditDefaultsOnly, Category = "Media", meta = (ClampMin = "0.0"))
186 float VideoEndTime = 3.0f;
189 FTimerHandle VideoCheckTimerHandle;
193 void PlayVideo(
bool bIsCorrect);
196 void CheckVideoPlayback();
200 void OnVideoFinished();