KLingo Project Documentation
1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UPopup_SpeakQuestJudes.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
4
#include "
UPopup_SpeakQuestJudes.h
"
5
6
#include "
UImageButton.h
"
7
#include "
NetworkData.h
"
8
#include "Animation/WidgetAnimation.h"
9
#include "
UDespawnItem.h
"
10
#include "
UGameDataManager.h
"
11
#include "
ULingoGameHelper.h
"
12
#include "
UPopupManager.h
"
13
#include "
EPopupType.h
"
14
#include "Components/Image.h"
15
16
17
void
UPopup_SpeakQuestJudes::NativeConstruct
()
18
{
19
Super::NativeConstruct();
20
21
// 이 팝업은 플레이어 조작을 허용
22
bAllowPlayerControl
=
true
;
23
24
if
(
HideAnim
)
25
{
26
// 이 객체에 바인딩된 모든 델리게이트 제거 (중복 방지)
27
UnbindAllFromAnimationFinished(
HideAnim
);
28
29
// 새로 바인딩
30
FWidgetAnimationDynamicEvent HideDelegate;
31
HideDelegate.BindDynamic(
this
, &
UPopup_SpeakQuestJudes::OnHideAnimComplete
);
32
BindToAnimationFinished(
HideAnim
, HideDelegate);
33
}
34
}
35
36
void
UPopup_SpeakQuestJudes::InitPopup
(
const
FResponseSpeakingJudes
& Response)
37
{
38
auto
ResultList = Response.
GetResultStatData
();
39
GrammerItem
->InitData( ResultList[0]);
40
ContextItem
->InitData( ResultList[1]);
41
42
EResourceTextureType
TextureType =
ULingoGameHelper::ConvertGradeScore
(Response.
final_overall_score
);
43
44
UGameDataManager
* DataManager = UGameDataManager::Get(
this
);
45
if
(!DataManager)
46
return
;
47
48
UTexture2D* Texture = DataManager->
GetTexture
(TextureType);
49
if
(!Texture)
50
return
;
51
52
FSlateBrush Brush =
Image_Grade
->GetBrush();
53
Brush.SetResourceObject(Texture);
54
Image_Grade
->SetBrush(Brush);
55
56
if
(GetWorld() && GetWorld()->GetTimerManager().IsTimerActive(
LifetimeTimer
))
57
GetWorld()->GetTimerManager().ClearTimer(
LifetimeTimer
);
58
59
PlayAnimation(
ShowAnim
);
60
61
GetWorld()->GetTimerManager().SetTimer(
62
LifetimeTimer
,
63
this
,
64
&
UPopup_SpeakQuestJudes::OnClickOk
,
65
Lifetime
,
66
false
67
);
68
}
69
70
void
UPopup_SpeakQuestJudes::OnClickOk
()
71
{
72
PlayAnimation(
HideAnim
);
73
}
74
75
void
UPopup_SpeakQuestJudes::OnHideAnimComplete
()
76
{
77
if
(
UPopupManager
* PopupMgr = UPopupManager::Get(GetWorld()))
78
{
79
// HideCurrentPopup() 대신 자기 자신을 명시적으로 닫기
80
// (위에 다른 팝업이 있어도 자신만 스택에서 제거됨)
81
PopupMgr->HidePopup(EPopupType::SpeakQuestJudes);
82
}
83
}
EPopupType.h
EResourceTextureType
EResourceTextureType
Definition
FResourceTextureData.h:13
NetworkData.h
네트워크 요청과 응답에 사용되는 구조체 및 설정을 정의합니다.
UDespawnItem.h
UGameDataManager.h
UGameDataManager 클래스를 선언합니다.
UImageButton.h
ULingoGameHelper.h
UPopupManager.h
UPopup_SpeakQuestJudes.h
UBasePopup::bAllowPlayerControl
bool bAllowPlayerControl
이 팝업이 활성화되어 있을 때 플레이어 조작을 허용할지 여부
Definition
UBasePopup.h:105
UGameDataManager
데이터 테이블(.csv)에서 게임 데이터를 로드하고 캐시하여 런타임에 빠르게 접근할 수 있도록 제공하는 데이터 관리 서브시스템입니다.
Definition
UGameDataManager.h:34
UGameDataManager::GetTexture
UTexture2D * GetTexture(EResourceTextureType Type) const
Definition
UGameDataManager.cpp:468
ULingoGameHelper::ConvertGradeScore
static EResourceTextureType ConvertGradeScore(const float Score)
Definition
ULingoGameHelper.cpp:174
UPopupManager
팝업 관리자
Definition
UPopupManager.h:31
UPopup_SpeakQuestJudes::Image_Grade
TObjectPtr< class UImage > Image_Grade
Definition
UPopup_SpeakQuestJudes.h:40
UPopup_SpeakQuestJudes::HideAnim
TObjectPtr< class UWidgetAnimation > HideAnim
Hide Animation
Definition
UPopup_SpeakQuestJudes.h:54
UPopup_SpeakQuestJudes::ShowAnim
TObjectPtr< class UWidgetAnimation > ShowAnim
Show Animation
Definition
UPopup_SpeakQuestJudes.h:50
UPopup_SpeakQuestJudes::OnHideAnimComplete
void OnHideAnimComplete()
HideAnim 완료 시 호출되는 콜백
Definition
UPopup_SpeakQuestJudes.cpp:75
UPopup_SpeakQuestJudes::ContextItem
TObjectPtr< class UDespawnItem > ContextItem
Definition
UPopup_SpeakQuestJudes.h:46
UPopup_SpeakQuestJudes::OnClickOk
void OnClickOk()
확인 버튼 클릭 시 호출
Definition
UPopup_SpeakQuestJudes.cpp:70
UPopup_SpeakQuestJudes::NativeConstruct
virtual void NativeConstruct() override
위젯 초기화
Definition
UPopup_SpeakQuestJudes.cpp:17
UPopup_SpeakQuestJudes::LifetimeTimer
FTimerHandle LifetimeTimer
Lifetime 타이머 핸들
Definition
UPopup_SpeakQuestJudes.h:62
UPopup_SpeakQuestJudes::GrammerItem
TObjectPtr< class UDespawnItem > GrammerItem
Definition
UPopup_SpeakQuestJudes.h:43
UPopup_SpeakQuestJudes::InitPopup
void InitPopup(const struct FResponseSpeakingJudes &Response)
팝업을 초기화하고 데이터를 설정합니다
Definition
UPopup_SpeakQuestJudes.cpp:36
UPopup_SpeakQuestJudes::Lifetime
float Lifetime
아이템 생존 시간 (초)
Definition
UPopup_SpeakQuestJudes.h:58
FResponseSpeakingJudes
Speaking Questions 응답 구조체입니다.
Definition
NetworkData.h:827
FResponseSpeakingJudes::GetResultStatData
TArray< FResultStatData > GetResultStatData() const
Definition
NetworkData.cpp:594
FResponseSpeakingJudes::final_overall_score
int final_overall_score
Definition
NetworkData.h:837
Source
Onepiece
MessageBox
Private
UPopup_SpeakQuestJudes.cpp
생성시간 : 금 1월 9 2026 00:25:57, 프로젝트명 : KLingo Project Documentation, 생성자 :
1.9.8