KLingo Project Documentation
1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UPopup_Evaluation.cpp
이 파일의 문서화 페이지로 가기
1
// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
3
#include "
UPopup_Evaluation.h
"
4
5
#include "
GameLogging.h
"
6
#include "OnlineSubsystemUtils.h"
7
#include "
UTabButtonGroup.h
"
8
#include "
UEvaluationScenario.h
"
9
#include "
UEvaluationTotal.h
"
10
#include "
UGameSoundManager.h
"
11
#include "
UImageButton.h
"
12
#include "
UPopupManager.h
"
13
#include "Kismet/GameplayStatics.h"
14
15
void
UPopup_Evaluation::NativeConstruct
()
16
{
17
Super::NativeConstruct();
18
19
if
(
Btn_Confirm
)
20
{
21
Btn_Confirm
->OnButtonClickedEvent.RemoveDynamic(
this
, &
UPopup_Evaluation::OnClickClose
);
22
Btn_Confirm
->OnButtonClickedEvent.AddDynamic(
this
, &
UPopup_Evaluation::OnClickClose
);
23
}
24
}
25
26
void
UPopup_Evaluation::InitPopup
(
const
FResponseEvaluationResult
& InEvaluationResult)
27
{
28
Panel_TotalResult
->InitPanel(InEvaluationResult.
total_result
);
29
30
for
(
const
FScenarioResult
& ScenarioResult : InEvaluationResult.
scenario_results
)
31
{
32
switch
(ScenarioResult.scenario_type)
33
{
34
case
EScenarioType::READING:
35
Panel_Reading
->InitPanel(ScenarioResult);
36
break
;
37
38
case
EScenarioType::LISTENING:
39
Panel_Listening
->InitPanel(ScenarioResult);
40
break
;
41
42
case
EScenarioType::WRITING:
43
Panel_Writing
->InitPanel(ScenarioResult);
44
break
;
45
46
case
EScenarioType::SPEAKING:
47
Panel_Speaking
->InitPanel(ScenarioResult);
48
break
;
49
50
default
:
51
break
;
52
}
53
}
54
}
55
56
void
UPopup_Evaluation::OnClickClose
()
57
{
58
if
(
UPopupManager
* PopupMgr = UPopupManager::Get(GetWorld()))
59
{
60
PopupMgr->HidePopup(EPopupType::Evaluation);
61
62
// MsgBox OK 버튼 클릭 시 Lobby로 이동하는 콜백 바인딩
63
FOnMsgBoxOkDelegate OnOkDelegate;
64
OnOkDelegate.BindUObject(
this
, &
UPopup_Evaluation::OnMsgBoxOk_MoveToLobby
);
65
66
UPopupManager::Get(GetWorld())->ShowMsgBox(TEXT(
"Notice"
), TEXT(
"Thank you For Playing"
),
67
EMsgBoxType::OK
,
68
OnOkDelegate);
69
}
70
}
71
72
void
UPopup_Evaluation::OnMsgBoxOk_MoveToLobby
()
73
{
74
// Lobby 맵으로 이동
75
if
(UWorld* World = GetWorld())
76
{
77
if
(
UGameSoundManager
* SoundMgr = GetGameInstance()->GetSubsystem<UGameSoundManager>())
78
{
79
SoundMgr->PlayBGM(
EGameSoundType::BGM_Start
);
80
}
81
82
UGameplayStatics::OpenLevel(World, FName(
"/Game/CustomContents/Maps/LobbyMap"
));
83
}
84
}
EGameSoundType::BGM_Start
@ BGM_Start
EMsgBoxType::OK
@ OK
GameLogging.h
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
UEvaluationScenario.h
UEvaluationTotal.h
UGameSoundManager.h
UGameSoundManager 클래스를 선언합니다.
UImageButton.h
UPopupManager.h
UPopup_Evaluation.h
UTabButtonGroup.h
UGameSoundManager
게임 내 모든 사운드 재생을 관리하는 중앙 사운드 관리 서브시스템입니다.
Definition
UGameSoundManager.h:21
UPopupManager
팝업 관리자
Definition
UPopupManager.h:31
UPopup_Evaluation::NativeConstruct
virtual void NativeConstruct() override
Definition
UPopup_Evaluation.cpp:15
UPopup_Evaluation::Panel_Listening
TObjectPtr< class UEvaluationScenario > Panel_Listening
Listening 결과 패널 (탭 2)
Definition
UPopup_Evaluation.h:56
UPopup_Evaluation::OnMsgBoxOk_MoveToLobby
void OnMsgBoxOk_MoveToLobby()
MsgBox OK 버튼 클릭 시 Lobby로 이동
Definition
UPopup_Evaluation.cpp:72
UPopup_Evaluation::Panel_Writing
TObjectPtr< class UEvaluationScenario > Panel_Writing
Writing 결과 패널 (탭 3)
Definition
UPopup_Evaluation.h:60
UPopup_Evaluation::Panel_TotalResult
TObjectPtr< class UEvaluationTotal > Panel_TotalResult
전체 결과 패널 (탭 0)
Definition
UPopup_Evaluation.h:48
UPopup_Evaluation::Panel_Speaking
TObjectPtr< class UEvaluationScenario > Panel_Speaking
Speaking 결과 패널 (탭 4)
Definition
UPopup_Evaluation.h:64
UPopup_Evaluation::Btn_Confirm
TObjectPtr< class UImageButton > Btn_Confirm
닫기 버튼
Definition
UPopup_Evaluation.h:44
UPopup_Evaluation::Panel_Reading
TObjectPtr< class UEvaluationScenario > Panel_Reading
Reading 결과 패널 (탭 1)
Definition
UPopup_Evaluation.h:52
UPopup_Evaluation::OnClickClose
void OnClickClose()
닫기 버튼 클릭 핸들러
Definition
UPopup_Evaluation.cpp:56
UPopup_Evaluation::InitPopup
void InitPopup(const FResponseEvaluationResult &InEvaluationResult)
팝업 초기화 (FResponseEvaluationResultDelegate에서 받은 데이터 기반)
Definition
UPopup_Evaluation.cpp:26
FResponseEvaluationResult
Evaluation 결과 응답 구조체입니다.
Definition
NetworkData.h:1341
FResponseEvaluationResult::total_result
FTotalResult total_result
Definition
NetworkData.h:1345
FResponseEvaluationResult::scenario_results
TArray< FScenarioResult > scenario_results
Definition
NetworkData.h:1348
FScenarioResult
시나리오별 결과 구조체입니다.
Definition
NetworkData.h:1298
Source
Onepiece
MessageBox
Private
UPopup_Evaluation.cpp
생성시간 : 금 1월 9 2026 00:25:57, 프로젝트명 : KLingo Project Documentation, 생성자 :
1.9.8