Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
UPopupWidgetBase 클래스 참조

#include <PopupWidgetBase.h>

UPopupWidgetBase에 대한 상속 다이어그램 :
Inheritance graph
UPopupWidgetBase에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

virtual void OnPoppedFromLayer () override
 
virtual void BeginDestroy () override
 
void Close (EPopupResult Result)
 
void FinishClose ()
 
FORCEINLINE EPopupResult GetResult () const
 
FORCEINLINE bool IsClosing () const
 
- UUserWidgetBase(으)로부터 상속된 Public 멤버 함수
virtual void SetAbilitySystemComponent (AActor *InOwner)
 
virtual UAbilitySystemComponent * GetAbilitySystemComponent () const override
 
virtual void OnPushedToLayer ()
 
virtual void OnActivated ()
 
virtual void OnDeactivated ()
 
void Activate ()
 
void Deactivate ()
 
FORCEINLINE FGameplayTag GetLayerTag () const
 
FORCEINLINE void SetLayerTag (const FGameplayTag InTag)
 
FORCEINLINE bool IsPrimary () const
 
FORCEINLINE void SetPrimary (const bool InPrimary)
 
FORCEINLINE EWidgetState GetWidgetState () const
 
FORCEINLINE void SetWidgetState (const EWidgetState InState)
 
FORCEINLINE UWaitForWidgetActivationGetActivationHandle ()
 
FORCEINLINE bool HasAppearanceAnim () const
 
FORCEINLINE bool HasDisappearanceAnim () const
 

Public 속성

FOnPopupClosed OnPopupClosed
 

Protected 멤버 함수

void OnCloseRequested (EPopupResult Result)
 
virtual void OnCloseRequested_Implementation (EPopupResult Result)
 
- UUserWidgetBase(으)로부터 상속된 Protected 멤버 함수
virtual void OnWidgetActivated ()
 
virtual void OnWidgetDeactivated ()
 
void OnPushedToLayer_Internal ()
 
void OnPoppedFromLayer_Internal ()
 
void OnActivated_Internal ()
 
void OnDeactivated_Internal ()
 

Private 멤버 함수

void BroadcastResultIfNeeded (EPopupResult Result)
 

Private 속성

EPopupResult CachedResult = EPopupResult::Dismissed
 
bool bClosing = false
 
bool bClosed = false
 
bool bResultBroadcasted = false
 

추가로 상속된 멤버들

- UUserWidgetBase(으)로부터 상속된 Protected 속성
EWidgetState WidgetState
 
TObjectPtr< UAbilitySystemComponent > ASC
 
FGameplayTag LayerTag
 
bool bPrimary = false
 
TObjectPtr< UWidgetAnimation > AppearanceAnim
 
TObjectPtr< UWidgetAnimation > DisappearanceAnim
 

상세한 설명

결과(EPopupResult)를 반환하고 스스로 닫히는 위젯의 베이스. 푸시/레이어/입력은 UIManagementSubsystem이 담당하고, 이 클래스는 결과 계약과 2단계 닫기만 책임진다. 내용/연출/레이아웃은 BP 파생 위젯에서 구현한다.

멤버 함수 문서화

◆ BeginDestroy()

void UPopupWidgetBase::BeginDestroy ( )
overridevirtual
78{
79 // 최종 안전망: ClearWidget/PopAllLayer/레벨 언로드 등 OnPoppedFromLayer를 거치지 않는 정리 경로 대비.
81 Super::BeginDestroy();
82}
void BroadcastResultIfNeeded(EPopupResult Result)
Definition PopupWidgetBase.cpp:85
EPopupResult CachedResult
Definition PopupWidgetBase.h:71
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ BroadcastResultIfNeeded()

void UPopupWidgetBase::BroadcastResultIfNeeded ( EPopupResult  Result)
private
86{
88 {
89 return;
90 }
91
92 bResultBroadcasted = true;
93 OnPopupClosed.Broadcast(this, Result);
94}
bool bResultBroadcasted
Definition PopupWidgetBase.h:76
FOnPopupClosed OnPopupClosed
Definition PopupWidgetBase.h:67
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Close()

void UPopupWidgetBase::Close ( EPopupResult  Result)
13{
14 if (bClosing)
15 {
16 return;
17 }
18
19 bClosing = true;
20 CachedResult = Result;
21
22 // 여기서 Disappearing 으로 바꾸면 PopWidget 이 "이미 퇴장 중"으로 보고 그냥 반환한다.
23 // 그러면 Deactivate/PopWidgetFromLayer 가 돌지 않아 위젯이 레이어에 남고,
24 // 레이어 설정(입력 모드/TimeScale)이 계속 적용된 채 풀리지 않는다.
25 // 상태 전환은 Deactivate 가 맡는다. 재진입은 bClosing 으로 이미 막고 있다.
26 OnCloseRequested(Result);
27}
void OnCloseRequested(EPopupResult Result)
bool bClosing
Definition PopupWidgetBase.h:74
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ FinishClose()

void UPopupWidgetBase::FinishClose ( )
31{
32 if (bClosed)
33 {
34 return;
35 }
36
37 bClosed = true;
39
40 const UWorld* World = GetWorld();
41
42 if (World == nullptr)
43 {
44 LOG_ERROR(LogCK, "%s를 가져올 수 없음. ", NAMEOF(UWorld));
45 return;
46 }
47
49 {
50 // PopWidget 내부에서 Deactivate → RemoveFromParent → OnPoppedFromLayer 처리.
51 UISubsystem->PopWidget(this);
52 }
53 else
54 {
55 LOG_WARNING(LogCK, "%s: %s을 찾지 못해 직접 RemoveFromParent. ", *GetName(), NAMEOF(UUIManagementSubsystem));
56 RemoveFromParent();
57 }
58}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
#define NAMEOF(Type)
Definition CK_UE.h:30
#define LOG_WARNING(Category, Format,...)
Definition CK_UE.h:39
static UUIManagementSubsystem * GetUIManagementSubsystem(const UObject *WorldContextObject)
Definition CK_BPFunctionLibrary.cpp:138
bool bClosed
Definition PopupWidgetBase.h:75
Definition UIManagementSubsystem.h:22
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetResult()

FORCEINLINE EPopupResult UPopupWidgetBase::GetResult ( ) const
inline
45 {
46 return CachedResult;
47 }

◆ IsClosing()

FORCEINLINE bool UPopupWidgetBase::IsClosing ( ) const
inline
50 {
51 return bClosing;
52 }
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnCloseRequested()

void UPopupWidgetBase::OnCloseRequested ( EPopupResult  Result)
protected
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnCloseRequested_Implementation()

void UPopupWidgetBase::OnCloseRequested_Implementation ( EPopupResult  Result)
protectedvirtual
62{
63 // 기본 동작: 연출 없이 즉시 닫는다.
65}
void FinishClose()
Definition PopupWidgetBase.cpp:30
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnPoppedFromLayer()

void UPopupWidgetBase::OnPoppedFromLayer ( )
overridevirtual

UUserWidgetBase(으)로부터 재구현되었습니다.

69{
70 Super::OnPoppedFromLayer();
71
72 // 외부에서 Subsystem::PopWidget으로 직접 닫힌 경우(Close를 거치지 않음) 결과 누락 방지.
74}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ bClosed

bool UPopupWidgetBase::bClosed = false
private

◆ bClosing

bool UPopupWidgetBase::bClosing = false
private

◆ bResultBroadcasted

bool UPopupWidgetBase::bResultBroadcasted = false
private

◆ CachedResult

EPopupResult UPopupWidgetBase::CachedResult = EPopupResult::Dismissed
private

◆ OnPopupClosed

FOnPopupClosed UPopupWidgetBase::OnPopupClosed

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