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

#include <NetworkData.h>

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

Public 멤버 함수

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

Public 속성

float average_score
 
FString grade
 
TArray< FReadScoreDetailscores
 
float top_percent
 

상세한 설명

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

멤버 함수 문서화

◆ PrintData()

void FResponseReadResult::PrintData ( ) const

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

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

915{
916 FString OutputString;
917 FJsonObjectConverter::UStructToJsonObjectString(
918 *this,
919 OutputString,
920 0,
921 0
922 );
923 NETWORK_LOG( TEXT("[RES] %s"), *OutputString);
924}
#define NETWORK_LOG(fmt,...)

다음을 참조함 : NETWORK_LOG.

◆ SetFromHttpResponse()

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

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

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

879{
880 if (!Response.IsValid())
881 {
882 return;
883 }
884
885 FString JsonString = Response->GetContentAsString();
886 TSharedPtr<FJsonObject> JsonObject;
887 TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(JsonString);
888
889 if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid())
890 {
891 JsonObject->TryGetStringField(TEXT("grade"), grade);
892 JsonObject->TryGetNumberField(TEXT("average_score"), average_score);
893 JsonObject->TryGetNumberField(TEXT("top_percent"), top_percent);
894
895 // scores 배열 파싱
896 if (JsonObject->HasTypedField<EJson::Array>(TEXT("scores")))
897 {
898 TArray<TSharedPtr<FJsonValue>> JsonArray = JsonObject->GetArrayField(TEXT("scores"));
899 for (const auto& ScoreValue : JsonArray)
900 {
901 if (ScoreValue->Type == EJson::Object)
902 {
903 TSharedPtr<FJsonObject> ScoreObj = ScoreValue->AsObject();
904 FReadScoreDetail Entry;
905 ScoreObj->TryGetNumberField(TEXT("score"), Entry.score);
906 ScoreObj->TryGetStringField(TEXT("desc"), Entry.desc);
907 scores.Add(Entry);
908 }
909 }
910 }
911 }
912}
Read 퀘스트의 개별 점수 상세 정보를 담는 구조체입니다.
TArray< FReadScoreDetail > scores

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

멤버 데이터 문서화

◆ average_score

float FResponseReadResult::average_score

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

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

◆ grade

FString FResponseReadResult::grade

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

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

◆ scores

TArray<FReadScoreDetail> FResponseReadResult::scores

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

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

◆ top_percent

float FResponseReadResult::top_percent

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

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


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