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

#include <PlayerExpBarWidget.h>

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

Protected 멤버 함수

virtual void NativeConstruct () override
 
virtual void NativeDestruct () override
 
void HandleExpChanged (float CurrentExp, float RequiredExp)
 
void HandleLevelUp (int32 NewLevel)
 
AMainPlayerStateResolvePlayerState () const
 
void OnLevelUpPlayed (int32 NewLevel)
 
- UUserWidgetBase(으)로부터 상속된 Protected 멤버 함수
virtual void OnWidgetActivated ()
 
virtual void OnWidgetDeactivated ()
 
void OnPushedToLayer_Internal ()
 
void OnPoppedFromLayer_Internal ()
 
void OnActivated_Internal ()
 
void OnDeactivated_Internal ()
 

Protected 속성

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

추가로 상속된 멤버들

- UUserWidgetBase(으)로부터 상속된 Public 멤버 함수
virtual void SetAbilitySystemComponent (AActor *InOwner)
 
virtual UAbilitySystemComponent * GetAbilitySystemComponent () const override
 
virtual void OnPushedToLayer ()
 
virtual void OnPoppedFromLayer ()
 
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
 

상세한 설명

방송 경험치 바. 레벨과 진행도를 표시한다.

멤버 함수 문서화

◆ HandleExpChanged()

void UPlayerExpBarWidget::HandleExpChanged ( float  CurrentExp,
float  RequiredExp 
)
protected
53{
54 // 최종 레벨은 요구치가 0 이하로 들어온다. 이때는 게이지를 가득 채운다.
55 const float Percent = RequiredExp > 0.0f ? FMath::Clamp(CurrentExp / RequiredExp, 0.0f, 1.0f) : 1.0f;
56
58 {
59 ExpProgressBar->SetPercent(Percent);
60 }
61
62 if (ExpText)
63 {
64 const FString Display = RequiredExp > 0.0f
65 ? FString::Printf(TEXT("%.0f / %.0f"), CurrentExp, RequiredExp)
66 : FString(TEXT("MAX"));
67
68 ExpText->SetText(FText::FromString(Display));
69 }
70}
TObjectPtr< UProgressBar > ExpProgressBar
Definition PlayerExpBarWidget.h:38
TObjectPtr< UTextBlock > ExpText
Definition PlayerExpBarWidget.h:44
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ HandleLevelUp()

void UPlayerExpBarWidget::HandleLevelUp ( int32  NewLevel)
protected
74{
75 if (LevelText)
76 {
77 LevelText->SetText(FText::AsNumber(NewLevel));
78 }
79
80 OnLevelUpPlayed(NewLevel);
81}
TObjectPtr< UTextBlock > LevelText
Definition PlayerExpBarWidget.h:41
void OnLevelUpPlayed(int32 NewLevel)
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ NativeConstruct()

void UPlayerExpBarWidget::NativeConstruct ( )
overrideprotectedvirtual
13{
14 Super::NativeConstruct();
15
16 AMainPlayerState* PlayerState = ResolvePlayerState();
17
18 if (PlayerState == nullptr)
19 {
20 return;
21 }
22
23 PlayerState->OnExpChanged.AddUObject(this, &UPlayerExpBarWidget::HandleExpChanged);
24 PlayerState->OnLevelUp.AddUObject(this, &UPlayerExpBarWidget::HandleLevelUp);
25
26 // 위젯이 뒤늦게 생성돼도 현재 상태를 반영한다.
27 HandleExpChanged(PlayerState->GetCurrentExp(), PlayerState->GetRequiredExp());
28 HandleLevelUp(PlayerState->GetPlayerLevel());
29}
Definition MainPlayerState.h:23
int32 GetPlayerLevel() const
Definition MainPlayerState.cpp:48
float GetRequiredExp() const
Definition MainPlayerState.cpp:60
FOnExpChanged OnExpChanged
Definition MainPlayerState.h:45
FOnLevelUp OnLevelUp
Definition MainPlayerState.h:46
float GetCurrentExp() const
Definition MainPlayerState.cpp:54
void HandleLevelUp(int32 NewLevel)
Definition PlayerExpBarWidget.cpp:73
AMainPlayerState * ResolvePlayerState() const
Definition PlayerExpBarWidget.cpp:44
void HandleExpChanged(float CurrentExp, float RequiredExp)
Definition PlayerExpBarWidget.cpp:52
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ NativeDestruct()

void UPlayerExpBarWidget::NativeDestruct ( )
overrideprotectedvirtual
33{
34 if (AMainPlayerState* PlayerState = ResolvePlayerState())
35 {
36 PlayerState->OnExpChanged.RemoveAll(this);
37 PlayerState->OnLevelUp.RemoveAll(this);
38 }
39
40 Super::NativeDestruct();
41}
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OnLevelUpPlayed()

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

◆ ResolvePlayerState()

AMainPlayerState * UPlayerExpBarWidget::ResolvePlayerState ( ) const
protected
45{
46 const APlayerController* OwningPlayer = GetOwningPlayer();
47
48 return OwningPlayer ? OwningPlayer->GetPlayerState<AMainPlayerState>() : nullptr;
49}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ ExpProgressBar

TObjectPtr<UProgressBar> UPlayerExpBarWidget::ExpProgressBar
protected

◆ ExpText

TObjectPtr<UTextBlock> UPlayerExpBarWidget::ExpText
protected

◆ LevelText

TObjectPtr<UTextBlock> UPlayerExpBarWidget::LevelText
protected

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