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

#include <NetworkData.h>

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

Public 멤버 함수

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

Public 속성

float average_score
 
FString grade
 
TArray< FListenScoreDetailscores
 
float top_percent
 

상세한 설명

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

멤버 함수 문서화

◆ PrintData()

void FResponseListenResult::PrintData ( ) const

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

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

1125{
1126 FString OutputString;
1127 FJsonObjectConverter::UStructToJsonObjectString(
1128 *this,
1129 OutputString,
1130 0,
1131 0
1132 );
1133 NETWORK_LOG( TEXT("[RES] %s"), *OutputString);
1134}
#define NETWORK_LOG(fmt,...)

다음을 참조함 : NETWORK_LOG.

◆ SetFromHttpResponse()

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

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

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

1089{
1090 if (!Response.IsValid())
1091 {
1092 return;
1093 }
1094
1095 FString JsonString = Response->GetContentAsString();
1096 TSharedPtr<FJsonObject> JsonObject;
1097 TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(JsonString);
1098
1099 if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid())
1100 {
1101 JsonObject->TryGetStringField(TEXT("grade"), grade);
1102 JsonObject->TryGetNumberField(TEXT("average_score"), average_score);
1103 JsonObject->TryGetNumberField(TEXT("top_percent"), top_percent);
1104
1105 // scores 배열 파싱
1106 if (JsonObject->HasTypedField<EJson::Array>(TEXT("scores")))
1107 {
1108 TArray<TSharedPtr<FJsonValue>> JsonArray = JsonObject->GetArrayField(TEXT("scores"));
1109 for (const auto& ScoreValue : JsonArray)
1110 {
1111 if (ScoreValue->Type == EJson::Object)
1112 {
1113 TSharedPtr<FJsonObject> ScoreObj = ScoreValue->AsObject();
1114 FListenScoreDetail Entry;
1115 ScoreObj->TryGetNumberField(TEXT("score"), Entry.score);
1116 ScoreObj->TryGetStringField(TEXT("desc"), Entry.desc);
1117 scores.Add(Entry);
1118 }
1119 }
1120 }
1121 }
1122}
Listen 퀘스트의 개별 점수 상세 정보를 담는 구조체입니다.
TArray< FListenScoreDetail > scores

다음을 참조함 : average_score, FListenScoreDetail::desc, grade, FListenScoreDetail::score, scores, top_percent.

멤버 데이터 문서화

◆ average_score

float FResponseListenResult::average_score

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

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

◆ grade

FString FResponseListenResult::grade

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

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

◆ scores

TArray<FListenScoreDetail> FResponseListenResult::scores

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

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

◆ top_percent

float FResponseListenResult::top_percent

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

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


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