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

#include <StreamingProgressHUDWidget.h>

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

Public 멤버 함수

void RebuildFromSituations (const TArray< USituationBase * > &Situations)
 
void SetBroadcastTitle (ESituationTag ConfirmedTag)
 

Protected 멤버 함수

virtual void NativeConstruct () override
 
virtual void NativeDestruct () override
 
void HandleSituationEquipped (USituationBase *Situation)
 
void HandleBroadcastTitleConfirmed (ESituationTag ConfirmedTag)
 
void ResetIcons ()
 
void ActivateNextIcon (UTexture2D *IconTexture)
 

Protected 속성

TObjectPtr< UWrapBox > IconContainer
 
TObjectPtr< UTextBlock > StreamingTitle
 
TObjectPtr< UTextBlock > GuideMessage
 
int32 ActivatedIconIndex = 0
 

상세한 설명

전투 내내 떠 있는 방송 진행 표시.

선택 팝업 안의 UStreamingProgressWidget 과 아이콘 표시 방식은 같지만, 팝업과 달리 파괴되지 않으므로 카드를 넘겨받지 않고 서브시스템 이벤트를 직접 구독한다.

멤버 함수 문서화

◆ ActivateNextIcon()

void UStreamingProgressHUDWidget::ActivateNextIcon ( UTexture2D *  IconTexture)
protected
123{
124 if (IconContainer == nullptr)
125 {
126 LOG_WARNING(LogCK, "%s 가 Nullptr 이라서 선택 아이콘을 켤 수 없습니다.", NAMEOF_VAR(IconContainer));
127 return;
128 }
129
130 // 새로 만들지 않고 미리 배치된 자식을 순서대로 하나씩 켠다.
131 UCardIcon* CardIcon = Cast<UCardIcon>(IconContainer->GetChildAt(ActivatedIconIndex));
132
133 if (CardIcon == nullptr)
134 {
135 // 미리 깔아둔 칸을 다 썼다. WBP 의 아이콘 수가 최대 선택 횟수보다 적다는 뜻이다.
136 LOG_WARNING(LogCK, "%s 에 남은 아이콘 칸이 없습니다. (요청 %d / 자식 %d)", NAMEOF_VAR(IconContainer), ActivatedIconIndex, IconContainer->GetChildrenCount());
137 return;
138 }
139
140 CardIcon->SetIcon(IconTexture);
141 CardIcon->ShowIcon();
143}
#define NAMEOF_VAR(Expr)
Definition CK_UE.h:34
#define LOG_WARNING(Category, Format,...)
Definition CK_UE.h:39
Definition CardIcon.h:16
void ShowIcon()
Definition CardIcon.cpp:16
void SetIcon(UTexture2D *InIcon)
Definition CardIcon.cpp:10
TObjectPtr< UWrapBox > IconContainer
Definition StreamingProgressHUDWidget.h:59
int32 ActivatedIconIndex
Definition StreamingProgressHUDWidget.h:69
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ HandleBroadcastTitleConfirmed()

void UStreamingProgressHUDWidget::HandleBroadcastTitleConfirmed ( ESituationTag  ConfirmedTag)
protected
70{
71 SetBroadcastTitle(ConfirmedTag);
72}
void SetBroadcastTitle(ESituationTag ConfirmedTag)
Definition StreamingProgressHUDWidget.cpp:75
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ HandleSituationEquipped()

void UStreamingProgressHUDWidget::HandleSituationEquipped ( USituationBase Situation)
protected
59{
60 if (Situation == nullptr)
61 {
62 return;
63 }
64
66}
FORCEINLINE UTexture2D * GetSituationIcon() const
Definition SituationBase.h:104
void ActivateNextIcon(UTexture2D *IconTexture)
Definition StreamingProgressHUDWidget.cpp:122
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ NativeConstruct()

void UStreamingProgressHUDWidget::NativeConstruct ( )
overrideprotectedvirtual
19{
20 Super::NativeConstruct();
21
22 ResetIcons();
23
25 {
26 SituationSubsystem->OnSituationEquipped.AddUObject(this, &UStreamingProgressHUDWidget::HandleSituationEquipped);
27
28 // HUD 가 카드 선택보다 늦게 만들어졌을 수 있어 현재 장착 목록으로 한 번 맞춘다.
29 RebuildFromSituations(SituationSubsystem->GetEquippedSituations());
30 }
31
33 {
34 StreamingSubsystem->OnBroadcastTitleConfirmed.AddUObject(this, &UStreamingProgressHUDWidget::HandleBroadcastTitleConfirmed);
35
36 // 제목이 이미 확정된 뒤에 HUD 가 다시 만들어졌을 수 있다.
37 SetBroadcastTitle(StreamingSubsystem->IsBroadcastTitleConfirmed() ? StreamingSubsystem->GetCurrentReactionTag() : ESituationTag::None);
38 }
39}
static constexpr FGlobalUserSettingsRuntime None
Definition GlobalUserSettingsRuntime.cpp:6
ESituationTag
Definition SituationTag.h:17
static UStreamingSubsystem * GetStreamingSubsystem(const UObject *WorldContextObject)
Definition CK_BPFunctionLibrary.cpp:167
static USituationManagementSubsystem * GetSituationManagementSubsystem(const UObject *WorldContextObject)
Definition CK_BPFunctionLibrary.cpp:159
Definition SituationManagementSubsystem.h:36
void HandleSituationEquipped(USituationBase *Situation)
Definition StreamingProgressHUDWidget.cpp:58
void RebuildFromSituations(const TArray< USituationBase * > &Situations)
Definition StreamingProgressHUDWidget.cpp:89
void ResetIcons()
Definition StreamingProgressHUDWidget.cpp:100
void HandleBroadcastTitleConfirmed(ESituationTag ConfirmedTag)
Definition StreamingProgressHUDWidget.cpp:69
Definition StreamingSubsystem.h:73
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ NativeDestruct()

void UStreamingProgressHUDWidget::NativeDestruct ( )
overrideprotectedvirtual
43{
45 {
46 SituationSubsystem->OnSituationEquipped.RemoveAll(this);
47 }
48
50 {
51 StreamingSubsystem->OnBroadcastTitleConfirmed.RemoveAll(this);
52 }
53
54 Super::NativeDestruct();
55}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ RebuildFromSituations()

void UStreamingProgressHUDWidget::RebuildFromSituations ( const TArray< USituationBase * > &  Situations)
90{
91 ResetIcons();
92
93 for (const USituationBase* Situation : Situations)
94 {
95 ActivateNextIcon(Situation->GetSituationIcon());
96 }
97}
Definition SituationBase.h:31
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ResetIcons()

void UStreamingProgressHUDWidget::ResetIcons ( )
protected
101{
103
104 if (IconContainer == nullptr)
105 {
106 LOG_WARNING(LogCK, "%s 가 Nullptr 이라서 선택 아이콘을 초기화할 수 없습니다.", NAMEOF_VAR(IconContainer));
107 return;
108 }
109
110 // BP 기본값에 기대지 않고 여기서 전부 꺼둔다.
111 const int32 ChildCount = IconContainer->GetChildrenCount();
112
113 for (int32 Index = 0; Index < ChildCount; ++Index)
114 {
115 UCardIcon* CardIcon = Cast<UCardIcon>(IconContainer->GetChildAt(Index));
116 checkf(CardIcon, TEXT("아니 이걸 카드 아이콘으로 설정 안해뒀다고?"));
117 CardIcon->HideIcon();
118 }
119}
void HideIcon()
Definition CardIcon.cpp:25
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ SetBroadcastTitle()

void UStreamingProgressHUDWidget::SetBroadcastTitle ( ESituationTag  ConfirmedTag)
76{
77 if (StreamingTitle == nullptr)
78 {
79 LOG_WARNING(LogCK, "%s 가 Nullptr 이라서 방송 제목을 띄울 수 없습니다.", NAMEOF_VAR(StreamingTitle));
80 return;
81 }
82
83 // 제목의 실제 명칭은 기획 미정이라 확정 태그의 표시 이름을 그대로 쓴다.
84 // 아직 아무 태그도 확정되지 않았으면 빈 칸 대신 '미정'을 띄운다.
85 StreamingTitle->SetText(ConfirmedTag == ESituationTag::None ? FText::FromString(TEXT("미정")) : BroadcastTag::GetDisplayName(ConfirmedTag));
86}
TObjectPtr< UTextBlock > StreamingTitle
Definition StreamingProgressHUDWidget.h:62
Definition SituationTag.h:29
CK_UE_API FText GetDisplayName(ESituationTag Tag)
Definition SituationTag.cpp:80
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ ActivatedIconIndex

int32 UStreamingProgressHUDWidget::ActivatedIconIndex = 0
protected

◆ GuideMessage

TObjectPtr<UTextBlock> UStreamingProgressHUDWidget::GuideMessage
protected

◆ IconContainer

TObjectPtr<UWrapBox> UStreamingProgressHUDWidget::IconContainer
protected

◆ StreamingTitle

TObjectPtr<UTextBlock> UStreamingProgressHUDWidget::StreamingTitle
protected

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