KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
ANetworkTesterActor 클래스 참조

KLingo 네트워크 API를 테스트하기 위한 진단 액터입니다. 더 자세히 ...

#include <ANetworkTesterActor.h>

+ ANetworkTesterActor에 대한 상속 다이어그램 :
+ ANetworkTesterActor에 대한 협력 다이어그램:

Public 멤버 함수

 ANetworkTesterActor ()
 기본 컴포넌트를 구성하는 생성자입니다.
 
void RequestChatAnswers ()
 Chat 답변 요청을 전송합니다 (텍스트 질문).
 
void RequestChatAnswersWithAudio ()
 Chat 답변 요청을 전송합니다 (음성 질문).
 
void RequestInterviewHello ()
 인터뷰 시작 요청을 전송합니다.
 
void RequestListenAudio ()
 Listen 음성 생성 요청을 전송합니다.
 
void RequestOcrExtract ()
 OCR 텍스트 추출 요청을 전송합니다 (POST /writes/ocr/extract).
 
void RequestSpeakingQuestions ()
 Speaking 답변 요청을 전송합니다 (POST /speakings/questions).
 
void RequestUserMe ()
 현재 사용자 정보 조회 요청을 전송합니다 (GET /users/me).
 
void RequestUserRegister ()
 사용자 등록 요청을 전송합니다 (POST /users/register).
 
void RequestUserToken ()
 OAuth2 토큰 발급 요청을 전송합니다 (POST /users/token).
 

Public 속성

FString AudioText = TEXT("한국에서 가장 먼저 방문할 곳은 어디입니까?")
 TTS 테스트용 입력 텍스트입니다.
 
FString ChatAudioPath = TEXT("Sample/voice_sample.wav")
 Chat 답변 요청 테스트용 오디오 파일 경로입니다.
 
FString ChatContext = TEXT("You are a helpful assistant.")
 Chat 답변 요청 테스트용 컨텍스트입니다.
 
FString ChatQuestion = TEXT("살려주세요")
 Chat 답변 요청 테스트용 질문입니다.
 
FString OcrImagePath = TEXT("Sample/ocr_sample2.png")
 OCR 테스트용 이미지 파일 경로입니다 (프로젝트 루트 기준).
 
FString SpeakingAudioPath = TEXT("Sample/voice_sample.wav")
 Speaking 테스트용 오디오 파일 경로입니다 (프로젝트 루트 기준).
 
FString SpeakingQuestion = TEXT("Where are you from")
 Speaking 테스트용 질문 텍스트입니다.
 
FString UserName = TEXT("test_user")
 테스트에 사용할 사용자 이름입니다.
 

Private 멤버 함수

void OnResponseChatAnswers (FResponseChatAnswers &ResponseData, bool bWasSuccessful)
 
void OnResponseInterviewHello (FResponseInterviewHello &ResponseData, bool bWasSuccessful)
 
void OnResponseListenAudio (FResponseListenAudio &ResponseData, bool bWasSuccessful)
 
void OnResponseOcrExtract (FResponseWriteSubmit &ResponseData, bool bWasSuccessful)
 
void OnResponseSpeakingJudes (FResponseSpeakingJudes &ResponseData, bool bWasSuccessful)
 
void OnResponseUserMe (FResponseUserMe &ResponseData, bool bWasSuccessful)
 
void OnResponseUserRegister (FResponseUserRegister &ResponseData, bool bWasSuccessful)
 
void OnResponseUserToken (FResponseUserToken &ResponseData, bool bWasSuccessful)
 

Private 속성

TObjectPtr< class UVoiceConversationSystem > VoiceConversationSystem
 음성 대화 시스템 참조입니다.
 

상세한 설명

KLingo 네트워크 API를 테스트하기 위한 진단 액터입니다.

에디터 또는 개발 환경에서 API 요청 흐름을 빠르게 검증할 수 있도록 제공됩니다. 실제 게임플레이 로직과 분리된 테스트 전용 엔트리로, 요청 결과는 로그/UI에 표시됩니다. 사용 위치: 개발/QA 단계에서 수동 API 검증 시.

ANetworkTesterActor.h 파일의 22 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ ANetworkTesterActor()

ANetworkTesterActor::ANetworkTesterActor ( )

기본 컴포넌트를 구성하는 생성자입니다.

네트워크 테스트에 필요한 보조 컴포넌트 및 기본값을 초기화합니다. 사이드이펙트: 테스트 환경에 필요한 객체 참조를 준비합니다.

ANetworkTesterActor.cpp 파일의 24 번째 라인에서 정의되었습니다.

25{
26 PrimaryActorTick.bCanEverTick = false;
27
28 VoiceConversationSystem = CreateDefaultSubobject<UVoiceConversationSystem>(TEXT("VoiceConversationSystem"));
29}
TObjectPtr< class UVoiceConversationSystem > VoiceConversationSystem
음성 대화 시스템 참조입니다.

다음을 참조함 : VoiceConversationSystem.

멤버 함수 문서화

◆ OnResponseChatAnswers()

void ANetworkTesterActor::OnResponseChatAnswers ( FResponseChatAnswers ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 290 번째 라인에서 정의되었습니다.

291{
292 if (bWasSuccessful)
293 {
294 PRINTLOG(TEXT("--- Chat Answers SUCCESS ---"));
295
296 // AI 응답을 Bot 정보로 채팅에 표시
297 if (auto* GS = GetWorld()->GetGameState<ALingoGameState>())
298 {
299 FText AIAnswer = FText::FromString(ResponseData.answer);
300 // Bot은 PlayerIndex -1 사용
301 GS->MulticastRPC_SendChat(GS->GetBotInfo(), AIAnswer, DefineData::BotID);
302
303 PRINTLOG(TEXT("[AI Chat] AI Answer: %s"), *ResponseData.answer);
304 }
305 }
306 else
307 {
308 PRINTLOG(TEXT("--- Chat Answers FAILED ---"));
309 }
310}
#define PRINTLOG(fmt,...)
Definition GameLogging.h:30
static const int32 BotID
Definition Onepiece.h:56

다음을 참조함 : FResponseChatAnswers::answer, DefineData::BotID, PRINTLOG.

다음에 의해서 참조됨 : RequestChatAnswers(), RequestChatAnswersWithAudio().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnResponseInterviewHello()

void ANetworkTesterActor::OnResponseInterviewHello ( FResponseInterviewHello ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 233 번째 라인에서 정의되었습니다.

234{
235 if (bWasSuccessful)
236 {
237 PRINTLOG(TEXT("--- InterViewHello Questions SUCCESS ---"));
238 ResponseData.PrintData();
239
240 if (auto Popup = UPopupManager::ShowPopupAs<UPopup_InterviewHello>(GetWorld(), EPopupType::InterviewHello))
241 {
242 Popup->InitPopup(ResponseData);
243 }
244 }
245 else
246 {
247 PRINTLOG(TEXT("--- InterViewHello Questions FAILED ---"));
248 }
249}
void PrintData() const
디버그 로그에 응답 내용을 출력합니다.

다음을 참조함 : FResponseInterviewHello::PrintData(), PRINTLOG.

다음에 의해서 참조됨 : RequestInterviewHello().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnResponseListenAudio()

void ANetworkTesterActor::OnResponseListenAudio ( FResponseListenAudio ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 216 번째 라인에서 정의되었습니다.

217{
218 if (bWasSuccessful)
219 {
220 PRINTLOG(TEXT("--- Listen Audio SUCCESS ---"));
221 ResponseData.PrintData();
222
223 UDialogManager::Get(GetWorld())->ShowToast(*ResponseData.audio_text);
224 VoiceConversationSystem->PlayVoiceAudio(ResponseData.audio_base64);
225 }
226 else
227 {
228 PRINTLOG(TEXT("--- Listen Audio FAILED ---"));
229 }
230}
void PrintData() const
디버그 로그에 응답 내용을 출력합니다.
TArray< uint8 > audio_base64

다음을 참조함 : FResponseListenAudio::audio_base64, FResponseListenAudio::audio_text, FResponseListenAudio::PrintData(), PRINTLOG, VoiceConversationSystem.

다음에 의해서 참조됨 : RequestListenAudio().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnResponseOcrExtract()

void ANetworkTesterActor::OnResponseOcrExtract ( FResponseWriteSubmit ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 187 번째 라인에서 정의되었습니다.

188{
189 if (bWasSuccessful)
190 {
191 PRINTLOG(TEXT("--- OCR Extract SUCCESS ---"));
192 ResponseData.PrintData();
193 // PRINTLOG(TEXT("Success: %s"), ResponseData.success ? TEXT("true") : TEXT("false"));
194 // PRINTLOG(TEXT("Extracted Text: %s"), *ResponseData.extracted_text);
195 }
196 else
197 {
198 PRINTLOG(TEXT("--- OCR Extract FAILED ---"));
199 }
200}
void PrintData() const
디버그 로그에 응답 내용을 출력합니다.

다음을 참조함 : FResponseWriteSubmit::PrintData(), PRINTLOG.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnResponseSpeakingJudes()

void ANetworkTesterActor::OnResponseSpeakingJudes ( FResponseSpeakingJudes ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 202 번째 라인에서 정의되었습니다.

203{
204 if (bWasSuccessful)
205 {
206 PRINTLOG(TEXT("--- Speaking Questions SUCCESS ---"));
207 ResponseData.PrintData();
208 UDialogManager::Get(GetWorld())->ShowToast(*ResponseData.final_feedback);
209 }
210 else
211 {
212 PRINTLOG(TEXT("--- Speaking Questions FAILED ---"));
213 }
214}
void PrintData() const
디버그 로그에 응답 내용을 출력합니다.

다음을 참조함 : FResponseSpeakingJudes::final_feedback, FResponseSpeakingJudes::PrintData(), PRINTLOG.

다음에 의해서 참조됨 : RequestSpeakingQuestions().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnResponseUserMe()

void ANetworkTesterActor::OnResponseUserMe ( FResponseUserMe ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 106 번째 라인에서 정의되었습니다.

107{
108 if (bWasSuccessful)
109 {
110 PRINTLOG(TEXT("--- User Me SUCCESS ---"));
111
112 if ( auto PC = ULingoGameHelper::GetPlayerControl(GetWorld()) )
113 PC->Server_SetUserInfo(ResponseData);
114 }
115 else
116 {
117 PRINTLOG(TEXT("--- User Me FAILED ---"));
118 }
119}
static class APlayerControl * GetPlayerControl(const UObject *WorldContextObject)

다음을 참조함 : ULingoGameHelper::GetPlayerControl(), PRINTLOG.

다음에 의해서 참조됨 : RequestUserMe().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnResponseUserRegister()

void ANetworkTesterActor::OnResponseUserRegister ( FResponseUserRegister ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 80 번째 라인에서 정의되었습니다.

81{
82 if (bWasSuccessful)
83 {
84 PRINTLOG(TEXT("--- User Register SUCCESS ---"));
85 ResponseData.PrintData();
86 }
87 else
88 {
89 PRINTLOG(TEXT("--- User Register FAILED ---"));
90 }
91}
void PrintData() const
디버그 로그에 응답 내용을 출력합니다.

다음을 참조함 : FResponseUserRegister::PrintData(), PRINTLOG.

다음에 의해서 참조됨 : RequestUserRegister().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnResponseUserToken()

void ANetworkTesterActor::OnResponseUserToken ( FResponseUserToken ResponseData,
bool  bWasSuccessful 
)
private

ANetworkTesterActor.cpp 파일의 93 번째 라인에서 정의되었습니다.

94{
95 if (bWasSuccessful)
96 {
97 PRINTLOG(TEXT("--- User Token SUCCESS ---"));
99 }
100 else
101 {
102 PRINTLOG(TEXT("--- User Token FAILED ---"));
103 }
104}
void RequestUserMe()
현재 사용자 정보 조회 요청을 전송합니다 (GET /users/me).

다음을 참조함 : PRINTLOG, RequestUserMe().

다음에 의해서 참조됨 : RequestUserToken().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ RequestChatAnswers()

void ANetworkTesterActor::RequestChatAnswers ( )

Chat 답변 요청을 전송합니다 (텍스트 질문).

POST /chats/answers

지정된 컨텍스트와 질문으로 챗봇 답변을 요청합니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 256 번째 라인에서 정의되었습니다.

257{
258 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
259 {
260 PRINTLOG(TEXT("[TEST] RequestChatAnswers - Context: %s, Question: %s"), *ChatContext, *ChatQuestion);
261 KLingoNetwork->RequestChatQuestion(
264 FResponseChatAnswersDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseChatAnswers)
265 );
266 }
267 else
268 {
269 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
270 }
271}
FString ChatContext
Chat 답변 요청 테스트용 컨텍스트입니다.
void OnResponseChatAnswers(FResponseChatAnswers &ResponseData, bool bWasSuccessful)
FString ChatQuestion
Chat 답변 요청 테스트용 질문입니다.

다음을 참조함 : ChatContext, ChatQuestion, OnResponseChatAnswers(), PRINTLOG.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ RequestChatAnswersWithAudio()

void ANetworkTesterActor::RequestChatAnswersWithAudio ( )

Chat 답변 요청을 전송합니다 (음성 질문).

POST /chats/answers

음성 파일을 업로드해 답변을 요청합니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 273 번째 라인에서 정의되었습니다.

274{
275 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
276 {
277 PRINTLOG(TEXT("[TEST] RequestChatAnswersWithAudio - Context: %s, AudioPath: %s"), *ChatContext, *ChatAudioPath);
278 KLingoNetwork->RequestChatAudio(
281 FResponseChatAnswersDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseChatAnswers)
282 );
283 }
284 else
285 {
286 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
287 }
288}
FString ChatAudioPath
Chat 답변 요청 테스트용 오디오 파일 경로입니다.

다음을 참조함 : ChatAudioPath, ChatContext, OnResponseChatAnswers(), PRINTLOG.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ RequestInterviewHello()

void ANetworkTesterActor::RequestInterviewHello ( )

인터뷰 시작 요청을 전송합니다.

인터뷰 시나리오 제공 여부를 확인하는 테스트 호출입니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 172 번째 라인에서 정의되었습니다.

173{
174 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
175 {
176 PRINTLOG(TEXT("[TEST] RequestInterviewHello"));
177 KLingoNetwork->RequestInterviewHello(
178 FResponseInterviewHelloDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseInterviewHello)
179 );
180 }
181 else
182 {
183 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
184 }
185}
void OnResponseInterviewHello(FResponseInterviewHello &ResponseData, bool bWasSuccessful)

다음을 참조함 : OnResponseInterviewHello(), PRINTLOG.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ RequestListenAudio()

void ANetworkTesterActor::RequestListenAudio ( )

Listen 음성 생성 요청을 전송합니다.

텍스트 기반 음성 생성 API 호출 결과를 검증합니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 156 번째 라인에서 정의되었습니다.

157{
158 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
159 {
160 PRINTLOG(TEXT("[TEST] RequestListenAudio - AudioText: %s"), *AudioText);
161 KLingoNetwork->RequestListenAudio(
162 AudioText,
163 FResponseListenAudioDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseListenAudio)
164 );
165 }
166 else
167 {
168 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
169 }
170}
FString AudioText
TTS 테스트용 입력 텍스트입니다.
void OnResponseListenAudio(FResponseListenAudio &ResponseData, bool bWasSuccessful)

다음을 참조함 : AudioText, OnResponseListenAudio(), PRINTLOG.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ RequestOcrExtract()

void ANetworkTesterActor::RequestOcrExtract ( )

OCR 텍스트 추출 요청을 전송합니다 (POST /writes/ocr/extract).

지정된 이미지 파일을 업로드해 OCR 결과를 확인합니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 124 번째 라인에서 정의되었습니다.

125{
126 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
127 {
128 PRINTLOG(TEXT("[TEST] RequestOcrExtract - ImagePath: %s"), *OcrImagePath);
129 // KLingoNetwork->RequestOcrExtract(
130 // OcrImagePath,
131 // FResponseOcrExtractDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseOcrExtract)
132 // );
133 }
134 else
135 {
136 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
137 }
138}
FString OcrImagePath
OCR 테스트용 이미지 파일 경로입니다 (프로젝트 루트 기준).

다음을 참조함 : OcrImagePath, PRINTLOG.

◆ RequestSpeakingQuestions()

void ANetworkTesterActor::RequestSpeakingQuestions ( )

Speaking 답변 요청을 전송합니다 (POST /speakings/questions).

질문 텍스트와 오디오 파일을 서버에 전송하여 발음 평가를 요청합니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 140 번째 라인에서 정의되었습니다.

141{
142 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
143 {
144 PRINTLOG(TEXT("[TEST] RequestSpeakingQuestions - Question :%s, AudioPath: %s"), *SpeakingQuestion, *SpeakingAudioPath);
145 KLingoNetwork->RequestSpeakingJudges(
147 FResponseSpeakingJudesDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseSpeakingJudes)
148 );
149 }
150 else
151 {
152 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
153 }
154}
FString SpeakingAudioPath
Speaking 테스트용 오디오 파일 경로입니다 (프로젝트 루트 기준).
void OnResponseSpeakingJudes(FResponseSpeakingJudes &ResponseData, bool bWasSuccessful)
FString SpeakingQuestion
Speaking 테스트용 질문 텍스트입니다.

다음을 참조함 : OnResponseSpeakingJudes(), PRINTLOG, SpeakingAudioPath, SpeakingQuestion.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ RequestUserMe()

void ANetworkTesterActor::RequestUserMe ( )

현재 사용자 정보 조회 요청을 전송합니다 (GET /users/me).

토큰 기반 인증이 유효한지 확인하기 위한 테스트 호출입니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 67 번째 라인에서 정의되었습니다.

68{
69 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
70 {
71 PRINTLOG(TEXT("[TEST] RequestUserMe"));
72 KLingoNetwork->RequestUserMe( FResponseUserMeDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseUserMe) );
73 }
74 else
75 {
76 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
77 }
78}
void OnResponseUserMe(FResponseUserMe &ResponseData, bool bWasSuccessful)

다음을 참조함 : OnResponseUserMe(), PRINTLOG.

다음에 의해서 참조됨 : OnResponseUserToken().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ RequestUserRegister()

void ANetworkTesterActor::RequestUserRegister ( )

사용자 등록 요청을 전송합니다 (POST /users/register).

테스트 계정 생성을 위한 API 호출을 수행합니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 35 번째 라인에서 정의되었습니다.

36{
37 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
38 {
39 PRINTLOG(TEXT("[TEST] RequestUserRegister - UserName: %s"), *UserName);
40 KLingoNetwork->RequestUserRegister(
42 FResponseUserRegisterDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseUserRegister)
43 );
44 }
45 else
46 {
47 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
48 }
49}
FString UserName
테스트에 사용할 사용자 이름입니다.
void OnResponseUserRegister(FResponseUserRegister &ResponseData, bool bWasSuccessful)

다음을 참조함 : OnResponseUserRegister(), PRINTLOG, UserName.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ RequestUserToken()

void ANetworkTesterActor::RequestUserToken ( )

OAuth2 토큰 발급 요청을 전송합니다 (POST /users/token).

등록된 계정에 대해 인증 토큰을 발급받는 테스트 호출입니다. 사이드이펙트: 네트워크 요청을 전송하고 응답 로그를 출력합니다.

ANetworkTesterActor.cpp 파일의 51 번째 라인에서 정의되었습니다.

52{
53 if (auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
54 {
55 PRINTLOG(TEXT("[TEST] RequestUserToken - UserName: %s"), *UserName);
56 KLingoNetwork->RequestUserToken(
58 FResponseUserTokenDelegate::CreateUObject(this, &ANetworkTesterActor::OnResponseUserToken)
59 );
60 }
61 else
62 {
63 PRINTLOG(TEXT("UKLingoNetworkSystem not found!"));
64 }
65}
void OnResponseUserToken(FResponseUserToken &ResponseData, bool bWasSuccessful)

다음을 참조함 : OnResponseUserToken(), PRINTLOG, UserName.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ AudioText

FString ANetworkTesterActor::AudioText = TEXT("한국에서 가장 먼저 방문할 곳은 어디입니까?")

TTS 테스트용 입력 텍스트입니다.

서버에서 음성 파일을 생성할 문장을 지정합니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 145 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestListenAudio().

◆ ChatAudioPath

FString ANetworkTesterActor::ChatAudioPath = TEXT("Sample/voice_sample.wav")

Chat 답변 요청 테스트용 오디오 파일 경로입니다.

음성 질문 기반 답변 API를 테스트할 때 사용합니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 201 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestChatAnswersWithAudio().

◆ ChatContext

FString ANetworkTesterActor::ChatContext = TEXT("You are a helpful assistant.")

Chat 답변 요청 테스트용 컨텍스트입니다.

대화 맥락을 지정해 응답 품질을 확인합니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 181 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestChatAnswers(), RequestChatAnswersWithAudio().

◆ ChatQuestion

FString ANetworkTesterActor::ChatQuestion = TEXT("살려주세요")

Chat 답변 요청 테스트용 질문입니다.

텍스트 질문으로 답변 API를 테스트합니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 191 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestChatAnswers().

◆ OcrImagePath

FString ANetworkTesterActor::OcrImagePath = TEXT("Sample/ocr_sample2.png")

OCR 테스트용 이미지 파일 경로입니다 (프로젝트 루트 기준).

이미지 파일을 읽어 서버로 전송하며, 문자열 OCR 결과 검증에 사용합니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 89 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestOcrExtract().

◆ SpeakingAudioPath

FString ANetworkTesterActor::SpeakingAudioPath = TEXT("Sample/voice_sample.wav")

Speaking 테스트용 오디오 파일 경로입니다 (프로젝트 루트 기준).

음성 평가 요청의 입력 파일이며 WAV 등 서버가 지원하는 포맷이어야 합니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 123 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestSpeakingQuestions().

◆ SpeakingQuestion

FString ANetworkTesterActor::SpeakingQuestion = TEXT("Where are you from")

Speaking 테스트용 질문 텍스트입니다.

음성 답변 평가 요청의 질문으로 사용되며 서버 기준 문항과 맞추어야 합니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 113 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestSpeakingQuestions().

◆ UserName

FString ANetworkTesterActor::UserName = TEXT("test_user")

테스트에 사용할 사용자 이름입니다.

회원 등록/토큰 요청의 입력 값으로 사용됩니다. 소유권/수명: 이 액터 인스턴스가 소유하며 에디터에서 수정됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 48 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : RequestUserRegister(), RequestUserToken().

◆ VoiceConversationSystem

TObjectPtr<class UVoiceConversationSystem> ANetworkTesterActor::VoiceConversationSystem
private

음성 대화 시스템 참조입니다.

네트워크 테스트 과정에서 음성 처리 파이프라인을 연동하기 위해 사용합니다. 소유권/수명: 이 액터가 소유하며 런타임 동안 유지됩니다. 동기화: 네트워크 복제와 무관합니다.

ANetworkTesterActor.h 파일의 247 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : ANetworkTesterActor(), OnResponseListenAudio().


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: