15#include "Components/Spacer.h"
16#include "Components/VerticalBox.h"
21 ConstructorHelpers::FClassFinder<UPopup_QuestionnaireItem> questionnaireItemRef(TEXT(
"/Game/CustomContents/UI/Widgets/Write/WBP_PopupQuestionnaireItem.WBP_PopupQuestionnaireItem_C"));
22 if (questionnaireItemRef.Succeeded())
30 Super::NativeConstruct();
48 lps->WriteQuestionData = QuestionData;
77 USpacer* Spacer = NewObject<USpacer>(
this);
95 PopupMgr->HideCurrentPopup();
103 if (
auto KLingoNetwork = UKLingoNetworkSystem::Get(GetWorld()))
106 TArray<FString> pngFiles;
107 TArray<FString> targetTexts;
110 FString imagePath =
WriteImagePath + FString::Printf(TEXT(
"Answer%d.PNG"), question.Id);
111 PRINTLOG(TEXT(
"[TEST] RequestOcrExtract - ImagePath: %s"), *imagePath);
113 pngFiles.Add(imagePath);
114 targetTexts.Add(question.answer_kor);
117 KLingoNetwork->RequestWriteSubmit(
127 PRINTLOG(TEXT(
"UKLingoNetworkSystem not found!"));
135 PRINTLOG(TEXT(
"--- OCR Extract SUCCESS ---"));
139 lps->WriteSubmitResultData = ResponseData;
142 if (
auto GS = Cast<ALingoGameState>(GetWorld()->GetGameState()))
148 WriteRequest.
room_id = GS->GetRoomId();
149 WriteRequest.
user_id = Cast<APlayerControl>(GetOwningPlayer())->GetUserId();
154 WriteRequest.
wrong_idx = GS->WrongReadAnswerList;
156 KLingoNetwork->RequestWriteResult(
165 PRINTLOG(TEXT(
"--- OCR Extract FAILED ---"));
173 PRINTLOG(TEXT(
"--- OCR Extract SUCCESS ---"));
182 if (
auto Popup = UPopupManager::ShowPopupAs<UPopup_QuestionnaireResult>(GetWorld(), EPopupType::QuestionnaireResult))
187 PRINTLOG(TEXT(
"[PopupTester] Result popup opened"));
192 PRINTLOG(TEXT(
"--- OCR Extract FAILED ---"));
210 bool bAllAnswered =
true;
213 if (Item && !Item->IsAnswered())
215 bAllAnswered =
false;
APlayerControl 선언에 대한 Doxygen 주석을 제공합니다.
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
#define PRINTLOG(fmt,...)
KLingo API 요청을 담당하는 서브시스템을 선언합니다.
FResponseWriteSubmit WriteSubmitResultData
FResponseWriteResult WriteWholeResultData
KLingo 서버와의 HTTP 요청을 중재하는 게임 인스턴스 서브시스템입니다.
static int32 GetStageTypeIndex(const EQuestType QuestType)
static class ALingoPlayerState * GetLingoPlayerState(const UObject *WorldContextObject)
TArray< FWriteQuestionData > question
TArray< int32 > wrong_idx