KLingo Project Documentation
1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UPopup_Word.cpp
이 파일의 문서화 페이지로 가기
1
// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
3
4
#include "
UPopup_Word.h
"
5
6
#include "
APlayerActor.h
"
7
#include "
GameLogging.h
"
8
#include "
UImageButton.h
"
9
#include "
UKLingoNetworkSystem.h
"
10
#include "
ULingoGameHelper.h
"
11
#include "
UPopupManager.h
"
12
#include "
UTextureButton.h
"
13
#include "Components/TextBlock.h"
14
15
void
UPopup_Word::InitPopup
(
const
FPhonemeData
& InData)
16
{
17
Data
= InData;
18
19
if
(
Btn_Ok
)
20
{
21
Btn_Ok
->OnButtonClickedEvent.RemoveDynamic(
this
, &
UPopup_Word::OnClickClose
);
22
Btn_Ok
->OnButtonClickedEvent.AddDynamic(
this
, &
UPopup_Word::OnClickClose
);
23
}
24
25
if
(
Btn_Close
)
26
{
27
Btn_Close
->OnButtonClickedEvent.RemoveDynamic(
this
, &
UPopup_Word::OnClickClose
);
28
Btn_Close
->OnButtonClickedEvent.AddDynamic(
this
, &
UPopup_Word::OnClickClose
);
29
}
30
31
if
(
Btn_Repeat
)
32
{
33
Btn_Repeat
->OnButtonClickedEvent.RemoveDynamic(
this
, &
UPopup_Word::OnClickRepeat
);
34
Btn_Repeat
->OnButtonClickedEvent.AddDynamic(
this
, &
UPopup_Word::OnClickRepeat
);
35
}
36
37
Txt_Kor
->SetText( FText::FromString(InData.
Kor
));
38
Txt_Proneme
->SetText( FText::FromString(InData.
Pronunciation
));
39
40
OnClickRepeat
();
41
}
42
43
void
UPopup_Word::OnClickClose
()
44
{
45
if
(
UPopupManager
* PopupMgr = UPopupManager::Get(GetWorld()))
46
{
47
PopupMgr->HideCurrentPopup();
48
}
49
}
50
51
void
UPopup_Word::OnClickRepeat
()
52
{
53
if
(
bIsRequest
)
54
{
55
PRINTLOG
(TEXT(
"[Popup_Word] Already requesting audio, ignoring click: %s"
), *
Data
.
Kor
);
56
return
;
57
}
58
59
LastRequestText
=
Data
.
Kor
;
60
61
if
(
auto
KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
62
{
63
bIsRequest
=
true
;
64
65
KLingoNetwork->RequestListenAudio(
66
Data
.
Kor
,
67
FResponseListenAudioDelegate::CreateUObject(
this
, &
UPopup_Word::OnResponseListenAudio
)
68
);
69
}
70
}
71
72
void
UPopup_Word::OnResponseListenAudio
(
FResponseListenAudio
& ResponseData,
bool
bWasSuccessful)
73
{
74
bIsRequest
=
false
;
75
76
if
(bWasSuccessful)
77
{
78
if
(
auto
PlayerActor =
ULingoGameHelper::GetPlayerActor
(
this
))
79
PlayerActor->PlayTTSAudio(ResponseData.
audio_base64
);
80
}
81
else
82
{
83
PRINTLOG
(TEXT(
"Audio request failed: %s"
), *
LastRequestText
);
84
}
85
}
86
APlayerActor.h
Declares the player-controlled character actor.
GameLogging.h
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
PRINTLOG
#define PRINTLOG(fmt,...)
Definition
GameLogging.h:30
UImageButton.h
UKLingoNetworkSystem.h
KLingo API 요청을 담당하는 서브시스템을 선언합니다.
ULingoGameHelper.h
UPopupManager.h
UPopup_Word.h
UTextureButton.h
ULingoGameHelper::GetPlayerActor
static class APlayerActor * GetPlayerActor(const UObject *WorldContextObject)
첫 번째 플레이어의 PlayerActor를 가져옵니다.
Definition
ULingoGameHelper.cpp:255
UPopupManager
팝업 관리자
Definition
UPopupManager.h:31
UPopup_Word::Btn_Ok
TObjectPtr< class UImageButton > Btn_Ok
Definition
UPopup_Word.h:40
UPopup_Word::Data
FPhonemeData Data
Definition
UPopup_Word.h:46
UPopup_Word::OnResponseListenAudio
void OnResponseListenAudio(FResponseListenAudio &ResponseData, bool bWasSuccessful)
Definition
UPopup_Word.cpp:72
UPopup_Word::Btn_Repeat
TObjectPtr< class UTextureButton > Btn_Repeat
Definition
UPopup_Word.h:37
UPopup_Word::LastRequestText
FString LastRequestText
현재 요청 중인 오디오 텍스트 (응답 검증용)
Definition
UPopup_Word.h:52
UPopup_Word::InitPopup
void InitPopup(const FPhonemeData &InData)
Definition
UPopup_Word.cpp:15
UPopup_Word::Txt_Kor
TObjectPtr< class UTextBlock > Txt_Kor
Definition
UPopup_Word.h:31
UPopup_Word::OnClickClose
void OnClickClose()
Definition
UPopup_Word.cpp:43
UPopup_Word::Btn_Close
TObjectPtr< class UTextureButton > Btn_Close
Definition
UPopup_Word.h:43
UPopup_Word::Txt_Proneme
TObjectPtr< class UTextBlock > Txt_Proneme
Definition
UPopup_Word.h:34
UPopup_Word::OnClickRepeat
void OnClickRepeat()
Definition
UPopup_Word.cpp:51
UPopup_Word::bIsRequest
bool bIsRequest
오디오 요청 중복 방지 플래그
Definition
UPopup_Word.h:49
FPhonemeData
단어 데이터 구조체입니다.
Definition
NetworkData.h:195
FPhonemeData::Kor
FString Kor
Definition
NetworkData.h:199
FPhonemeData::Pronunciation
FString Pronunciation
Definition
NetworkData.h:202
FResponseListenAudio
Definition
NetworkData.h:800
FResponseListenAudio::audio_base64
TArray< uint8 > audio_base64
Definition
NetworkData.h:807
Source
Onepiece
MessageBox
Private
UPopup_Word.cpp
생성시간 : 금 1월 9 2026 00:25:57, 프로젝트명 : KLingo Project Documentation, 생성자 :
1.9.8