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

Write 퀘스트 정보 구조체입니다. 더 자세히 ...

#include <NetworkData.h>

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

Public 멤버 함수

bool IsValid () const
 구조체 값이 유효한지 여부를 반환합니다.
 
void PrintData () const
 디버그 로그에 응답 내용을 출력합니다.
 
void SetFromHttpResponse (const TSharedPtr< class IHttpResponse, ESPMode::ThreadSafe > &Response)
 HTTP 응답을 파싱해 구조체를 채웁니다.
 

Public 속성

bool bIsValid = false
 
TArray< FWriteQuestionDataquestion
 
int32 user_id
 

상세한 설명

Write 퀘스트 정보 구조체입니다.

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

멤버 함수 문서화

◆ IsValid()

bool FQuestWriteInfo::IsValid ( ) const

구조체 값이 유효한지 여부를 반환합니다.

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

100{
101 return bIsValid;
102}

다음을 참조함 : bIsValid.

다음에 의해서 참조됨 : AQuestionnaireKiosk::OnInteractionTriggered(), UKLingoNetworkSystem::RequestWriteQuestions().

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

◆ PrintData()

void FQuestWriteInfo::PrintData ( ) const

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

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

95{
96
97}

◆ SetFromHttpResponse()

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

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

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

53{
54 if (!Response.IsValid())
55 {
56 return;
57 }
58
59 FString JsonString = Response->GetContentAsString();
60 TSharedPtr<FJsonObject> JsonObject;
61 TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(JsonString);
62
63 if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid())
64 {
65 user_id = JsonObject->GetIntegerField(TEXT("user_id"));
66
67 TArray<TSharedPtr<FJsonValue>> questionArray = JsonObject->GetArrayField(TEXT("question"));
68
69 for (const auto& data : questionArray)
70 {
72 TSharedPtr<FJsonObject> dataObject = data->AsObject();
73 if (!dataObject.IsValid())
74 {
75 continue;
76 }
77
78 if (dataObject->HasTypedField<EJson::Object>(TEXT("word_data")))
79 {
80 const TSharedPtr<FJsonObject> DisplayObj = dataObject->GetObjectField(TEXT("word_data"));
81 temp.word_data.kor = DisplayObj->GetStringField(TEXT("kor"));
82 temp.word_data.eng = DisplayObj->GetStringField(TEXT("eng"));
83 temp.word_data.pronunciation = DisplayObj->GetStringField(TEXT("pronunciation"));
84 }
85
86 temp.answer = dataObject->GetStringField(TEXT("answer"));
87 temp.answer_kor = dataObject->GetStringField(TEXT("answer_kor"));
88 question.Add(temp);
89 }
90 }
91 bIsValid = true;
92}
TArray< FWriteQuestionData > question
Write 질문 및 정답 구조체입니다.
FWriteWordData word_data
FString pronunciation

다음을 참조함 : FWriteQuestionData::answer, FWriteQuestionData::answer_kor, bIsValid, FWriteWordData::eng, FWriteWordData::kor, FWriteWordData::pronunciation, question, user_id, FWriteQuestionData::word_data.

멤버 데이터 문서화

◆ bIsValid

bool FQuestWriteInfo::bIsValid = false

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

다음에 의해서 참조됨 : AQuestionnaireKiosk::CreateTestData(), IsValid(), SetFromHttpResponse().

◆ question

◆ user_id

int32 FQuestWriteInfo::user_id

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

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


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