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

#include <UILayer.h>

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

Public 멤버 함수

void InitLayer (FGameplayTag InLayerTag, int32 InPriority, UUIManagementSubsystem *InSubsystem)
 
virtual void Init ()
 
void ShowLayer (const FUIContext *Context=nullptr)
 
void HideLayer (const FUIContext *Context=nullptr)
 
void PushWidget (UUserWidgetBase *Widget)
 
UUserWidgetBasePopWidget ()
 
void RemoveWidget (UUserWidgetBase *Widget)
 
bool ContainWidget (UUserWidgetBase *Widget) const
 
UUserWidgetBaseGetTopWidget () const
 
int32 WidgetCount () const
 
void ClearWidget ()
 
virtual void OnPushedToLayerStack ()
 
virtual void OnPoppedFromLayerStack ()
 
FORCEINLINE TArray< UUserWidgetBase * > GetWidgets () const
 
FORCEINLINE bool IsVisible () const
 
FORCEINLINE FGameplayTag GetTag () const
 
FORCEINLINE int32 GetPriority () const
 

Protected 속성

FGameplayTag LayerTag
 
int32 Priority = 0
 
bool bTick = false
 
bool bVisible = true
 
TArray< TObjectPtr< UUserWidgetBase > > UserWidgets
 
TObjectPtr< UUIManagementSubsystemOwnerSubsystem
 

멤버 함수 문서화

◆ ClearWidget()

void UUILayer::ClearWidget ( )
150{
151 if (UserWidgets.IsEmpty())
152 {
153 return;
154 }
155
156 TArray<TObjectPtr<UUserWidgetBase>> WidgetsToClear = UserWidgets;
157 UserWidgets.Empty();
158
159 Algo::NullSafeForEach(WidgetsToClear, [](UUserWidgetBase* Widget)
160 {
161 Widget->SetWidgetState(EWidgetState::Disappeared);
162 Widget->OnDeactivated();
163 Widget->GetActivationHandle()->OnDeactivatedEvent.Broadcast(Widget);
164 Widget->OnPoppedFromLayer();
165 Widget->RemoveFromParent();
166 });
167}
TArray< TObjectPtr< UUserWidgetBase > > UserWidgets
Definition UILayer.h:78
Definition UserWidgetBase.h:33
virtual void OnDeactivated()
Definition UserWidgetBase.cpp:36
FORCEINLINE UWaitForWidgetActivation * GetActivationHandle()
Definition UserWidgetBase.h:83
FORCEINLINE void SetWidgetState(const EWidgetState InState)
Definition UserWidgetBase.h:77
virtual void OnPoppedFromLayer()
Definition UserWidgetBase.cpp:24
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ContainWidget()

bool UUILayer::ContainWidget ( UUserWidgetBase Widget) const
138{
139 return UserWidgets.Contains(Widget);
140}

◆ GetPriority()

FORCEINLINE int32 UUILayer::GetPriority ( ) const
inline
60 {
61 return Priority;
62 }
int32 Priority
Definition UILayer.h:69

◆ GetTag()

FORCEINLINE FGameplayTag UUILayer::GetTag ( ) const
inline
55 {
56 return LayerTag;
57 }
FGameplayTag LayerTag
Definition UILayer.h:66
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetTopWidget()

UUserWidgetBase * UUILayer::GetTopWidget ( ) const
127{
128 if (UserWidgets.Num() > 0)
129 {
130 return UserWidgets.Last();
131 }
132
133 return nullptr;
134}

◆ GetWidgets()

FORCEINLINE TArray< UUserWidgetBase * > UUILayer::GetWidgets ( ) const
inline
45 {
46 return UserWidgets;
47 }
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ HideLayer()

void UUILayer::HideLayer ( const FUIContext Context = nullptr)
55{
56 if (bVisible == false)
57 {
58 return;
59 }
60
61 bVisible = false;
62
63 for (UUserWidgetBase* Widget : UserWidgets)
64 {
65 if (IsValid(Widget) == false)
66 {
67 continue;
68 }
69
70 if (Widget->GetWidgetState() == EWidgetState::NoInit)
71 {
72 continue;
73 }
74
75 if (Widget->GetWidgetState() == EWidgetState::Disappearing)
76 {
77 continue;
78 }
79
80 if (Widget->GetWidgetState() == EWidgetState::Disappeared)
81 {
82 continue;
83 }
84
85 Widget->Deactivate();
86 Widget->SetVisibility(ESlateVisibility::Collapsed);
87 }
88}
bool bVisible
Definition UILayer.h:75

◆ Init()

virtual void UUILayer::Init ( )
inlinevirtual
19{ }
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ InitLayer()

void UUILayer::InitLayer ( FGameplayTag  InLayerTag,
int32  InPriority,
UUIManagementSubsystem InSubsystem 
)
9{
10 LayerTag = InLayerTag;
11 Priority = InPriority;
12 OwnerSubsystem = InSubsystem;
13 Init();
14}
TObjectPtr< UUIManagementSubsystem > OwnerSubsystem
Definition UILayer.h:81
virtual void Init()
Definition UILayer.h:19
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ IsVisible()

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

◆ OnPoppedFromLayerStack()

virtual void UUILayer::OnPoppedFromLayerStack ( )
inlinevirtual
40{ }
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnPushedToLayerStack()

virtual void UUILayer::OnPushedToLayerStack ( )
inlinevirtual
39{ }
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ PopWidget()

UUserWidgetBase * UUILayer::PopWidget ( )
103{
104 if (UserWidgets.Num() == 0)
105 {
106 return nullptr;
107 }
108
109 UUserWidgetBase* TopWidget = UserWidgets.Last();
110 UserWidgets.Pop();
111 return TopWidget;
112}

◆ PushWidget()

void UUILayer::PushWidget ( UUserWidgetBase Widget)
92{
93 if (IsValid(Widget) == false || UserWidgets.Contains(Widget))
94 {
95 return;
96 }
97
98 UserWidgets.Add(Widget);
99}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ RemoveWidget()

void UUILayer::RemoveWidget ( UUserWidgetBase Widget)
116{
117 if (IsValid(Widget) == false || UserWidgets.Contains(Widget) == false)
118 {
119 return;
120 }
121
122 UserWidgets.Remove(Widget);
123}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ShowLayer()

void UUILayer::ShowLayer ( const FUIContext Context = nullptr)
18{
19 if (bVisible)
20 {
21 return;
22 }
23
24 bVisible = true;
25
26 for (UUserWidgetBase* Widget : UserWidgets)
27 {
28 if (IsValid(Widget) == false)
29 {
30 continue;
31 }
32
33 if (Widget->GetWidgetState() == EWidgetState::NoInit)
34 {
35 continue;
36 }
37
38 if (Widget->GetWidgetState() == EWidgetState::Appearing)
39 {
40 continue;
41 }
42
43 if (Widget->GetWidgetState() == EWidgetState::Appeared)
44 {
45 continue;
46 }
47
48 Widget->SetVisibility(ESlateVisibility::SelfHitTestInvisible);
49 Widget->Activate();
50 }
51}

◆ WidgetCount()

int32 UUILayer::WidgetCount ( ) const
144{
145 return UserWidgets.Num();
146}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ bTick

bool UUILayer::bTick = false
protected

◆ bVisible

bool UUILayer::bVisible = true
protected

◆ LayerTag

FGameplayTag UUILayer::LayerTag
protected

◆ OwnerSubsystem

TObjectPtr<UUIManagementSubsystem> UUILayer::OwnerSubsystem
protected

◆ Priority

int32 UUILayer::Priority = 0
protected

◆ UserWidgets

TArray<TObjectPtr<UUserWidgetBase> > UUILayer::UserWidgets
protected

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