Payback
0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
PopupWidgetBase.h
이 파일의 문서화 페이지로 가기
1
// Fill out your copyright notice in the Description page of Project Settings.
2
3
#pragma once
4
5
#include "CoreMinimal.h"
6
#include "
EPopupResult.h
"
7
#include "
UI/UserWidgetBase.h
"
8
#include "PopupWidgetBase.generated.h"
9
10
11
class
UPopupWidgetBase
;
12
13
14
// 결과 통지 델리게이트. 외부는 여기에 바인딩만 한다(느슨한 결합).
15
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams
(FOnPopupClosed,
UPopupWidgetBase
*, Popup,
EPopupResult
, Result);
16
17
23
UCLASS()
24
class CK_UE_API
UPopupWidgetBase
: public
UUserWidgetBase
25
{
26
GENERATED_BODY()
27
28
public
:
29
virtual
void
OnPoppedFromLayer
()
override
;
30
virtual
void
BeginDestroy
()
override
;
31
32
public
:
33
// 닫기 진입점(2단계 닫기 1단계). 결과를 확정하고 닫기 연출을 시작한다.
34
// 결과를 가진 모든 닫기는 이 함수를 통한다.
35
UFUNCTION(BlueprintCallable, Category =
"UI|Popup"
)
36
void
Close
(
EPopupResult
Result);
37
38
// 2단계 닫기 마지막 단계. 닫기 연출이 끝난 뒤 호출해 실제 Pop을 수행한다.
39
// OnCloseRequested 기본 구현이 자동 호출하므로, 연출을 넣은 BP만 직접 호출하면 된다.
40
UFUNCTION(BlueprintCallable, Category =
"UI|Popup"
)
41
void
FinishClose
();
42
43
public
:
44
FORCEINLINE
EPopupResult
GetResult
()
const
45
{
46
return
CachedResult
;
47
}
48
49
FORCEINLINE
bool
IsClosing
()
const
50
{
51
return
bClosing
;
52
}
53
54
protected
:
55
// 닫기 연출 훅. 기본 구현은 즉시 FinishClose()를 호출한다.
56
// BP에서 오버라이드해 fade-out 등을 재생한 뒤 직접 FinishClose()를 호출하면 연출이 적용된다.
57
UFUNCTION(BlueprintNativeEvent, Category =
"UI|Popup"
)
58
void
OnCloseRequested
(
EPopupResult
Result);
59
60
virtual
void
OnCloseRequested_Implementation
(
EPopupResult
Result);
61
62
private:
63
void
BroadcastResultIfNeeded
(
EPopupResult
Result);
64
65
public:
66
UPROPERTY(BlueprintAssignable, Category = "
UI
|Popup")
67
FOnPopupClosed
OnPopupClosed
;
68
69
private:
70
UPROPERTY(Transient, BlueprintReadOnly, Category = "
UI
|Popup", meta = (AllowPrivateAccess = "true"))
71
EPopupResult
CachedResult
=
EPopupResult
::Dismissed;
72
73
private:
74
bool
bClosing
= false;
75
bool
bClosed
= false;
76
bool
bResultBroadcasted
= false;
77
};
EPopupResult.h
EPopupResult
EPopupResult
Definition
EPopupResult.h:8
EStageEvent::UI
@ UI
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPopupClosed, UPopupWidgetBase *, Popup, EPopupResult, Result)
UserWidgetBase.h
UPopupWidgetBase
Definition
PopupWidgetBase.h:25
UPopupWidgetBase::OnPoppedFromLayer
virtual void OnPoppedFromLayer() override
Definition
PopupWidgetBase.cpp:68
UPopupWidgetBase::BroadcastResultIfNeeded
void BroadcastResultIfNeeded(EPopupResult Result)
Definition
PopupWidgetBase.cpp:85
UPopupWidgetBase::IsClosing
FORCEINLINE bool IsClosing() const
Definition
PopupWidgetBase.h:49
UPopupWidgetBase::CachedResult
EPopupResult CachedResult
Definition
PopupWidgetBase.h:71
UPopupWidgetBase::OnCloseRequested
void OnCloseRequested(EPopupResult Result)
UPopupWidgetBase::bClosing
bool bClosing
Definition
PopupWidgetBase.h:74
UPopupWidgetBase::FinishClose
void FinishClose()
Definition
PopupWidgetBase.cpp:30
UPopupWidgetBase::OnCloseRequested_Implementation
virtual void OnCloseRequested_Implementation(EPopupResult Result)
Definition
PopupWidgetBase.cpp:61
UPopupWidgetBase::bClosed
bool bClosed
Definition
PopupWidgetBase.h:75
UPopupWidgetBase::BeginDestroy
virtual void BeginDestroy() override
Definition
PopupWidgetBase.cpp:77
UPopupWidgetBase::bResultBroadcasted
bool bResultBroadcasted
Definition
PopupWidgetBase.h:76
UPopupWidgetBase::GetResult
FORCEINLINE EPopupResult GetResult() const
Definition
PopupWidgetBase.h:44
UPopupWidgetBase::OnPopupClosed
FOnPopupClosed OnPopupClosed
Definition
PopupWidgetBase.h:67
UPopupWidgetBase::Close
void Close(EPopupResult Result)
Definition
PopupWidgetBase.cpp:12
UUserWidgetBase
Definition
UserWidgetBase.h:33
Source
CK_UE
UI
Popup
PopupWidgetBase.h
다음에 의해 생성됨 :
1.9.8