KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
FResponseSpeakScenario 구조체 참조

Speak 시나리오 응답 구조체입니다. 더 자세히 ...

#include <NetworkData.h>

+ FResponseSpeakScenario에 대한 협력 다이어그램:

Public 멤버 함수

void PrintData () const
 디버그 로그에 응답 내용을 출력합니다.
 
void SetFromHttpResponse (const TSharedPtr< class IHttpResponse, ESPMode::ThreadSafe > &Response)
 HTTP 응답을 파싱해 구조체를 채웁니다.
 

Public 속성

int32 difficulty = 0
 
int32 index = 0
 
int32 room_id = 0
 
TArray< FSpeakStageQuestionspeak_quest_data
 오디오 질문 목록
 

상세한 설명

Speak 시나리오 응답 구조체입니다.

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

멤버 함수 문서화

◆ PrintData()

void FResponseSpeakScenario::PrintData ( ) const

디버그 로그에 응답 내용을 출력합니다.

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

1296{
1297 FString OutputString;
1298 FJsonObjectConverter::UStructToJsonObjectString(
1299 *this,
1300 OutputString,
1301 0,
1302 0
1303 );
1304 NETWORK_LOG( TEXT("[RES] %s"), *OutputString);
1305}
#define NETWORK_LOG(fmt,...)

다음을 참조함 : NETWORK_LOG.

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

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

◆ SetFromHttpResponse()

void FResponseSpeakScenario::SetFromHttpResponse ( const TSharedPtr< class IHttpResponse, ESPMode::ThreadSafe > &  Response)

HTTP 응답을 파싱해 구조체를 채웁니다.

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

1252{
1253 if (!Response.IsValid())
1254 {
1255 return;
1256 }
1257
1258 FString JsonString = Response->GetContentAsString();
1259 TSharedPtr<FJsonObject> JsonObject;
1260 TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(JsonString);
1261
1262 if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid())
1263 {
1264 index = JsonObject->GetIntegerField(TEXT("index"));
1265 difficulty = JsonObject->GetIntegerField(TEXT("difficulty"));
1266 room_id = JsonObject->GetIntegerField(TEXT("room_id"));
1267
1268 // audio 배열 파싱
1269 const TArray<TSharedPtr<FJsonValue>>* QuestionArray;
1270 if (JsonObject->TryGetArrayField(TEXT("audio"), QuestionArray))
1271 {
1272 for (const auto& Item : *QuestionArray)
1273 {
1274 TSharedPtr<FJsonObject> AudioObj = Item->AsObject();
1275 if (AudioObj.IsValid())
1276 {
1277 FSpeakStageQuestion QuestionItem;
1278 QuestionItem.kor = AudioObj->GetStringField(TEXT("kor"));
1279 QuestionItem.eng = AudioObj->GetStringField(TEXT("eng"));
1280 QuestionItem.pronunciation = AudioObj->GetStringField(TEXT("pronunciation"));
1281
1282 FString tmp_audio_data;
1283 JsonObject->TryGetStringField(TEXT("voice_data"), tmp_audio_data);
1284 FBase64::Decode(tmp_audio_data, QuestionItem.voice_data);
1285
1286 speak_quest_data.Add(QuestionItem);
1287 }
1288 }
1289 }
1290
1291 NETWORK_LOG(TEXT("[FResponseSpeakScenario] Parsed %d audio items"), speak_quest_data.Num());
1292 }
1293}
TArray< FSpeakStageQuestion > speak_quest_data
오디오 질문 목록
SpeakQuest 오디오 질문 데이터 구조체입니다.
FString eng
영어 질문
TArray< uint8 > voice_data
음성 데이터 Base64
FString kor
한국어 질문
FString pronunciation
발음 가이드

다음을 참조함 : difficulty, FSpeakStageQuestion::eng, index, FSpeakStageQuestion::kor, NETWORK_LOG, FSpeakStageQuestion::pronunciation, room_id, speak_quest_data, FSpeakStageQuestion::voice_data.

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

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

멤버 데이터 문서화

◆ difficulty

int32 FResponseSpeakScenario::difficulty = 0

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

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

◆ index

int32 FResponseSpeakScenario::index = 0

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

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

◆ room_id

int32 FResponseSpeakScenario::room_id = 0

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

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

◆ speak_quest_data

TArray<FSpeakStageQuestion> FResponseSpeakScenario::speak_quest_data

오디오 질문 목록

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

다음에 의해서 참조됨 : ALingoPlayerState::GetCurrentSpeakQuestion(), SetFromHttpResponse().


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