KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UDespawnItem.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 "UDespawnItem.h"
5#include "UResultStatWidget.h"
6#include "Animation/WidgetAnimation.h"
7#include "GameLogging.h"
8
10{
11 Super::NativeConstruct();
12
13 UWorld* World = GetWorld();
14 if (!World)
15 {
16 PRINTLOG( TEXT("UAutoDespawnItem::NativeConstruct - World is null!"));
17 return;
18 }
19}
20
22{
23 // 타이머 정리
24 if (UWorld* World = GetWorld())
25 {
26 if (LifetimeTimer.IsValid())
27 {
28 World->GetTimerManager().ClearTimer(LifetimeTimer);
29 }
30 }
31
32 Super::NativeDestruct();
33}
34
36{
37 ItemWidget->InitData(InData);
38}
39
41{
42 if (FadeOutAnim)
43 {
44 PlayAnimation(FadeOutAnim);
45
46 // 애니메이션 완료 콜백 바인딩
47 FWidgetAnimationDynamicEvent AnimFinishedDelegate;
48 AnimFinishedDelegate.BindDynamic(this, &UDespawnItem::RemoveSelf);
49 BindToAnimationFinished(FadeOutAnim, AnimFinishedDelegate);
50 }
51 else
52 {
53 // 애니메이션 없으면 바로 제거
54 RemoveSelf();
55 }
56}
57
59{
60 // 이미 제거 중이면 리턴
61 if (!IsInViewport())
62 return;
63
64 RemoveFromParent();
65}
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
#define PRINTLOG(fmt,...)
Definition GameLogging.h:30
void StartFadeOut()
FadeOut 시작
void RemoveSelf()
위젯 제거
TObjectPtr< class UWidgetAnimation > FadeOutAnim
FadeOut 애니메이션 (BindWidgetAnim)
virtual void NativeConstruct() override
TObjectPtr< class UResultStatWidget > ItemWidget
결과 통계 위젯 (Grade, Score, Rate, Symbol 표시)
virtual void NativeDestruct() override
FTimerHandle LifetimeTimer
Lifetime 타이머 핸들
void InitData(const struct FResultStatData &InData)
Result Stat 위젯 통합 데이터 구조 위젯 타입, 색상 스타일, 각 타입별 데이터를 통합 관리