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

#include <NetworkData.h>

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

Public 멤버 함수

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

Public 속성

int32 average_score
 
FString grade
 
TArray< FSpeakScoreDetailscores
 
float top_percent
 

상세한 설명

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

멤버 함수 문서화

◆ GetResultStatData()

TArray< FResultStatData > FResponseSpeakResult::GetResultStatData ( ) const

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

1214{
1215 TArray<FResultStatData> StatDataList;
1216
1217 FResultStatData GradeResultData;
1218 GradeResultData.WidgetType = EResultItemWidgetType::Grade;
1219 GradeResultData.ColorType = EColorStyleType::Gray;
1220 GradeResultData.TitleText = FText::FromString(TEXT("Grade"));
1222 StatDataList.Add(GradeResultData);
1223
1224 FResultStatData TopRateResultData;
1225 TopRateResultData.WidgetType = EResultItemWidgetType::Rate;
1226 TopRateResultData.ColorType = EColorStyleType::Gray;
1227 TopRateResultData.TitleText = FText::FromString(TEXT("Top"));
1228 TopRateResultData.RatePercent = top_percent;
1229 StatDataList.Add(TopRateResultData);
1230
1231 FResultStatData AverageScoreResultData;
1232 AverageScoreResultData.WidgetType = EResultItemWidgetType::Symbol;
1233 AverageScoreResultData.ColorType = EColorStyleType::Gray;
1234 AverageScoreResultData.TitleText = FText::FromString(TEXT("Score"));
1235 AverageScoreResultData.SymbolTextureType = EResourceTextureType::Score;
1236 AverageScoreResultData.SymbolValue = FString::Printf(TEXT("%d"), average_score);
1237 StatDataList.Add(AverageScoreResultData);
1238
1239 return StatDataList;
1240}
static EResourceTextureType ConvertGradeString(const FString &Grade)
Result Stat 위젯 통합 데이터 구조 위젯 타입, 색상 스타일, 각 타입별 데이터를 통합 관리
EResourceTextureType SymbolTextureType
Symbol 타입 전용: 심볼 문자열
float RatePercent
Rate 타입 전용: 퍼센트 값 (0.0 ~ 1.0)
EColorStyleType ColorType
색상 스타일
FText TitleText
타이틀 텍스트
EResultItemWidgetType WidgetType
위젯 타입
EResourceTextureType GradeTextureType
Grade 타입 전용: 텍스처 타입

다음을 참조함 : average_score, FResultStatData::ColorType, ULingoGameHelper::ConvertGradeString(), Grade, grade, FResultStatData::GradeTextureType, Gray, Rate, FResultStatData::RatePercent, Score, Symbol, FResultStatData::SymbolTextureType, FResultStatData::SymbolValue, FResultStatData::TitleText, top_percent, FResultStatData::WidgetType.

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

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

◆ PrintData()

void FResponseSpeakResult::PrintData ( ) const

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

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

1202{
1203 FString OutputString;
1204 FJsonObjectConverter::UStructToJsonObjectString(
1205 *this,
1206 OutputString,
1207 0,
1208 0
1209 );
1210 NETWORK_LOG( TEXT("[RES] %s"), *OutputString);
1211}
#define NETWORK_LOG(fmt,...)

다음을 참조함 : NETWORK_LOG.

◆ SetFromHttpResponse()

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

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

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

1165{
1166 if (!Response.IsValid())
1167 {
1168 return;
1169 }
1170
1171 FString JsonString = Response->GetContentAsString();
1172 TSharedPtr<FJsonObject> JsonObject;
1173 TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(JsonString);
1174
1175 if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid())
1176 {
1177 grade = JsonObject->GetStringField(TEXT("grade"));
1178 average_score = JsonObject->GetIntegerField(TEXT("average_score"));
1179 top_percent = JsonObject->GetNumberField(TEXT("top_percent"));
1180
1181 // scores 배열 파싱
1182 const TArray<TSharedPtr<FJsonValue>>* ScoresArray;
1183 if (JsonObject->TryGetArrayField(TEXT("scores"), ScoresArray))
1184 {
1185 scores.Empty();
1186 for (const auto& ScoreValue : *ScoresArray)
1187 {
1188 TSharedPtr<FJsonObject> ScoreObj = ScoreValue->AsObject();
1189 if (ScoreObj.IsValid())
1190 {
1191 FSpeakScoreDetail ScoreDetail;
1192 ScoreDetail.score = ScoreObj->GetIntegerField(TEXT("score"));
1193 ScoreDetail.desc = ScoreObj->GetStringField(TEXT("desc"));
1194 scores.Add(ScoreDetail);
1195 }
1196 }
1197 }
1198 }
1199}
TArray< FSpeakScoreDetail > scores
Speak 퀘스트의 개별 점수 상세 정보를 담는 구조체입니다.

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

멤버 데이터 문서화

◆ average_score

int32 FResponseSpeakResult::average_score

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

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

◆ grade

FString FResponseSpeakResult::grade

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

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

◆ scores

TArray<FSpeakScoreDetail> FResponseSpeakResult::scores

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

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

◆ top_percent

float FResponseSpeakResult::top_percent

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

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


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