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

#include <CardSelectionWidget.h>

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

Public 멤버 함수

void SetupChoices (const TArray< TObjectPtr< USituationBase > > &Choices)
 
FORCEINLINE UStreamingProgressWidgetGetProgressWidget () const
 
- UPopupWidgetBase(으)로부터 상속된 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 ()
 
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
 

Protected 멤버 함수

virtual void OnActivated () override
 
virtual void OnDeactivated () override
 
virtual void NativeDestruct () override
 
void HandleCardChosen (UCardWidget *Card)
 
void ClearCards ()
 
void OnChoicesReady ()
 
- UPopupWidgetBase(으)로부터 상속된 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 ()
 

Protected 속성

TObjectPtr< UHorizontalBox > CardContainer
 
TObjectPtr< UStreamingProgressWidgetProgressWidget
 
TSubclassOf< UCardWidgetCardClass
 
TArray< TObjectPtr< UCardWidget > > Cards
 
- UUserWidgetBase(으)로부터 상속된 Protected 속성
EWidgetState WidgetState
 
TObjectPtr< UAbilitySystemComponent > ASC
 
FGameplayTag LayerTag
 
bool bPrimary = false
 
TObjectPtr< UWidgetAnimation > AppearanceAnim
 
TObjectPtr< UWidgetAnimation > DisappearanceAnim
 

Private 속성

uint8 bTimeFrozen: 1 = false
 

추가로 상속된 멤버들

- UPopupWidgetBase(으)로부터 상속된 Public 속성
FOnPopupClosed OnPopupClosed
 

상세한 설명

레벨업 시 뜨는 상황 선택 팝업. UIManagementSubsystem 이 UI.Layer.Popup 에 푸시하며, 카드를 고르면 스스로 닫힌다.

멤버 함수 문서화

◆ ClearCards()

void UCardSelectionWidget::ClearCards ( )
protected
140{
141 for (UCardWidget* Card : Cards)
142 {
143 Card->OnCardChosen.RemoveAll(this);
144 Card->RemoveFromParent();
145 }
146
147 Cards.Empty();
148}
TArray< TObjectPtr< UCardWidget > > Cards
Definition CardSelectionWidget.h:60
Definition CardWidget.h:31
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetProgressWidget()

FORCEINLINE UStreamingProgressWidget * UCardSelectionWidget::GetProgressWidget ( ) const
inline
29 {
30 return ProgressWidget;
31 }
TObjectPtr< UStreamingProgressWidget > ProgressWidget
Definition CardSelectionWidget.h:53
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ HandleCardChosen()

void UCardSelectionWidget::HandleCardChosen ( UCardWidget Card)
protected
71{
72 if (Card == nullptr)
73 {
74 return;
75 }
76
77 // 연출이 붙은 BP 는 닫히기까지 시간이 걸린다. 그동안 다른 카드를 못 누르게 막는다.
78 if (IsClosing())
79 {
80 return;
81 }
82
84 SituationSubsystem->EquipSituation(Card->GetSituationID());
85
86 // 카드를 걷기 전에 아이콘을 넘긴다. ClearCards 뒤에는 Card 가 살아 있다는 보장이 없다.
88 {
89 Progress->AddIcon(Card);
90 }
91
92 // 선택 즉시 카드를 걷어 시각적으로 반응이 오게 한다. 실제 Pop 은 FinishClose 가 한다.
93 ClearCards();
94 Close(EPopupResult::Confirmed);
95}
static USituationManagementSubsystem * GetSituationManagementSubsystem(const UObject *WorldContextObject)
Definition CK_BPFunctionLibrary.cpp:159
FORCEINLINE UStreamingProgressWidget * GetProgressWidget() const
Definition CardSelectionWidget.h:28
void ClearCards()
Definition CardSelectionWidget.cpp:139
FName GetSituationID() const
Definition CardWidget.cpp:196
FORCEINLINE bool IsClosing() const
Definition PopupWidgetBase.h:49
void Close(EPopupResult Result)
Definition PopupWidgetBase.cpp:12
Definition SituationManagementSubsystem.h:36
void EquipSituation(const FName &SituationID)
Definition SituationManagementSubsystem.cpp:406
Definition StreamingProgressWidget.h:20
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ NativeDestruct()

void UCardSelectionWidget::NativeDestruct ( )
overrideprotectedvirtual
130{
131 // 비활성화를 거치지 않고 파괴되는 경로 대비.
133 ClearCards();
134
135 Super::NativeDestruct();
136}
virtual void OnDeactivated() override
Definition CardSelectionWidget.cpp:113
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnActivated()

void UCardSelectionWidget::OnActivated ( )
overrideprotectedvirtual

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

99{
100 Super::OnActivated();
101
102 if (bTimeFrozen)
103 {
104 return;
105 }
106
108 SituationSubsystem->PushTimeFreeze();
109 bTimeFrozen = true;
110}
uint8 bTimeFrozen
Definition CardSelectionWidget.h:64
void PushTimeFreeze()
Definition SituationManagementSubsystem.cpp:136
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnChoicesReady()

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

◆ OnDeactivated()

void UCardSelectionWidget::OnDeactivated ( )
overrideprotectedvirtual

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

114{
115 Super::OnDeactivated();
116
117 if (bTimeFrozen == false)
118 {
119 return;
120 }
121
122 bTimeFrozen = false;
123
125 SituationSubsystem->PopTimeFreeze();
126}
void PopTimeFreeze()
Definition SituationManagementSubsystem.cpp:147
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ SetupChoices()

void UCardSelectionWidget::SetupChoices ( const TArray< TObjectPtr< USituationBase > > &  Choices)
19{
20 ClearCards();
21
23
24 // 팝업은 선택마다 새로 만들어지므로, 진행 표시는 지금까지 장착한 상황에서 매번 다시 그린다.
25 if (ProgressWidget && SituationSubsystem)
26 {
27 ProgressWidget->RebuildFromSituations(SituationSubsystem->GetEquippedSituations());
29 ProgressWidget->SetPlayerLevel(PlayerSystem->GetPlayerState()->GetPlayerLevel());
30 }
31
32 if (CardContainer == nullptr)
33 {
34 LOG_WARNING(LogCK, "%s 가 Nullptr 이라서 상황 카드를 만들 수 없습니다.", NAMEOF_VAR(CardContainer));
35 return;
36 }
37
38 if (CardClass == nullptr)
39 {
40 LOG_WARNING(LogCK, "%s 가 비어 있어 상황 카드를 만들 수 없습니다.", NAMEOF_VAR(CardClass));
41 return;
42 }
43
44 for (USituationBase* Choice : Choices)
45 {
46 UCardWidget* Card = CreateWidget<UCardWidget>(GetOwningPlayer(), CardClass);
47
48 // 아이콘은 소프트 참조라 표시 직전에 로드한다.
49 Card->SetPadding(FMargin(3.0f, 0.0f));
50 Card->SetupCard(Choice, Choice->GetSituationData().Illustration_Path.LoadSynchronous());
52
53 UHorizontalBoxSlot* CardSlot = Cast<UHorizontalBoxSlot>(CardContainer->AddChild(Card));
54
55 // 균등 분할 + 가운데 정렬. BP 슬롯 설정에 기대지 않는다.
56 FSlateChildSize FillSize;
57 FillSize.SizeRule = ESlateSizeRule::Fill;
58 FillSize.Value = 1.0f;
59
60 CardSlot->SetSize(FillSize);
61 CardSlot->SetHorizontalAlignment(HAlign_Center);
62 CardSlot->SetVerticalAlignment(VAlign_Center);
63 Cards.Add(Card);
64 }
65
67}
#define NAMEOF_VAR(Expr)
Definition CK_UE.h:34
#define LOG_WARNING(Category, Format,...)
Definition CK_UE.h:39
int32 GetPlayerLevel() const
Definition MainPlayerState.cpp:48
static UPlayerManagementSubsystem * GetPlayerManagementSubsystem(const UObject *WorldContextObject)
Definition CK_BPFunctionLibrary.cpp:86
TObjectPtr< UHorizontalBox > CardContainer
Definition CardSelectionWidget.h:50
void HandleCardChosen(UCardWidget *Card)
Definition CardSelectionWidget.cpp:70
TSubclassOf< UCardWidget > CardClass
Definition CardSelectionWidget.h:56
void SetupCard(USituationBase *InSituation, UTexture2D *InIllustration)
Definition CardWidget.cpp:145
FOnSituationCardChosen OnCardChosen
Definition CardWidget.h:81
Definition PlayerManagementSubsystem.h:42
FORCEINLINE AMainPlayerState * GetPlayerState() const
Definition PlayerManagementSubsystem.h:110
Definition SituationBase.h:31
TArray< USituationBase * > GetEquippedSituations() const
Definition SituationManagementSubsystem.cpp:566
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ bTimeFrozen

uint8 UCardSelectionWidget::bTimeFrozen
private

◆ CardClass

TSubclassOf<UCardWidget> UCardSelectionWidget::CardClass
protected

◆ CardContainer

TObjectPtr<UHorizontalBox> UCardSelectionWidget::CardContainer
protected

◆ Cards

TArray<TObjectPtr<UCardWidget> > UCardSelectionWidget::Cards
protected

◆ ProgressWidget

TObjectPtr<UStreamingProgressWidget> UCardSelectionWidget::ProgressWidget
protected

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