KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
APedestalSwitch 클래스 참조

#include <APedestalSwitch.h>

+ APedestalSwitch에 대한 상속 다이어그램 :
+ APedestalSwitch에 대한 협력 다이어그램:

Public 멤버 함수

 APedestalSwitch ()
 
void InitSwitch ()
 
void OnActivate ()
 
virtual void OnActivate_Implementation ()
 
void OnInteractionTriggered (AActor *Interactor)
 상호작용 콜백 (InteractableComponent 델리게이트용)
 
void OnOutlineStateChanged (bool bShouldShowOutline)
 

Public 속성

TObjectPtr< class UTweenAnimInstanceAnimBlueprint
 
TObjectPtr< class UInteractableComponent > InteractableComp
 InteractableComponent - 상호작용 시스템
 
float RecoveryDelay = 0.5f
 
TObjectPtr< class USkeletalMeshComponent > SwitchBody
 
TObjectPtr< class UWidgetComponent > WidgetComp
 

Protected 멤버 함수

virtual void BeginPlay () override
 

Private 멤버 함수

void RecoveryButton ()
 버튼을 원래 상태로 되돌림
 

Private 속성

FTimerHandle RecoveryTimerHandle
 버튼을 원래 상태로 되돌리는 타이머
 

상세한 설명

APedestalSwitch.h 파일의 10 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ APedestalSwitch()

APedestalSwitch::APedestalSwitch ( )

APedestalSwitch.cpp 파일의 14 번째 라인에서 정의되었습니다.

15{
16 PrimaryActorTick.bCanEverTick = false;
17
18 RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("Root"));
19
20 SwitchBody = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("SwitchBody"));
21 SwitchBody->SetupAttachment(RootComponent);
22 SwitchBody->SetRelativeLocation(FVector::ZeroVector);
23
24 InteractableComp = CreateDefaultSubobject<UInteractableComponent>(TEXT("Interactable"));
25 InteractableComp->InteractionType = EInteractionType::Button;
26 InteractableComp->InteractionPrompt = TEXT("Activate");
27
28 WidgetComp = CreateDefaultSubobject<UWidgetComponent>(TEXT("WidgetComp"));
29 ConstructorHelpers::FClassFinder<UInteractWidget> WidgetRef(INTERACT_WIDGET_PATH);
30 if (WidgetRef.Succeeded())
31 {
32 WidgetComp->SetWidgetClass(WidgetRef.Class);
33 WidgetComp->SetupAttachment(GetRootComponent());
34 WidgetComp->SetWidgetSpace(EWidgetSpace::Screen);
35 WidgetComp->SetDrawSize(FVector2D(2048.0f, 1024.0f));
36 }
37}
#define INTERACT_WIDGET_PATH
TObjectPtr< class UWidgetComponent > WidgetComp
TObjectPtr< class USkeletalMeshComponent > SwitchBody
TObjectPtr< class UInteractableComponent > InteractableComp
InteractableComponent - 상호작용 시스템

다음을 참조함 : INTERACT_WIDGET_PATH, InteractableComp, SwitchBody, WidgetComp.

멤버 함수 문서화

◆ BeginPlay()

void APedestalSwitch::BeginPlay ( )
overrideprotectedvirtual

APedestalSwitch.cpp 파일의 39 번째 라인에서 정의되었습니다.

40{
41 Super::BeginPlay();
42
43 // InitSwitch 호출
44 InitSwitch();
45
46 // 델리게이트 바인딩
47 InteractableComp->InitWidget(WidgetComp);
48 InteractableComp->OnInteractionTriggered.AddDynamic(this, &APedestalSwitch::OnInteractionTriggered);
49 InteractableComp->OnOutlineStateChanged.AddDynamic(this, &APedestalSwitch::OnOutlineStateChanged);
50}
void OnInteractionTriggered(AActor *Interactor)
상호작용 콜백 (InteractableComponent 델리게이트용)
void OnOutlineStateChanged(bool bShouldShowOutline)

다음을 참조함 : InitSwitch(), InteractableComp, OnInteractionTriggered(), OnOutlineStateChanged(), WidgetComp.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ InitSwitch()

void APedestalSwitch::InitSwitch ( )

APedestalSwitch.cpp 파일의 52 번째 라인에서 정의되었습니다.

53{
54 UAnimInstance* AnimInstance = SwitchBody->GetAnimInstance();
55 if (!AnimInstance)
56 {
57 PRINTLOG( TEXT("AnimInstance is null"));
58 return;
59 }
60
61 UTweenAnimInstance* AnimBP = Cast<UTweenAnimInstance>(AnimInstance);
62 if (AnimBP)
63 {
64 AnimBlueprint = AnimBP;
65 }
66 else
67 {
68 PRINTLOG( TEXT("Failed to cast to AnimBP"));
69 }
70}
#define PRINTLOG(fmt,...)
Definition GameLogging.h:30
TObjectPtr< class UTweenAnimInstance > AnimBlueprint
블루프린트에서 사용할 수 있는 간단한 트윈 애님 인스턴스.

다음을 참조함 : AnimBlueprint, PRINTLOG, SwitchBody.

다음에 의해서 참조됨 : BeginPlay().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnActivate()

void APedestalSwitch::OnActivate ( )

다음에 의해서 참조됨 : OnInteractionTriggered().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnActivate_Implementation()

void APedestalSwitch::OnActivate_Implementation ( )
virtual

APedestalSwitch.cpp 파일의 101 번째 라인에서 정의되었습니다.

102{
103 PRINT_STRING(TEXT("Pedestal Switch Activated"));
104}
#define PRINT_STRING(fmt,...)
Definition GameLogging.h:45

다음을 참조함 : PRINT_STRING.

◆ OnInteractionTriggered()

void APedestalSwitch::OnInteractionTriggered ( AActor *  Interactor)

상호작용 콜백 (InteractableComponent 델리게이트용)

APedestalSwitch.cpp 파일의 72 번째 라인에서 정의되었습니다.

73{
74 if (AnimBlueprint)
75 {
76 // 버튼 눌림 애니메이션
77 AnimBlueprint->ChangeState(true);
78
79 // 딜레이 후 버튼 리커버리
80 GetWorld()->GetTimerManager().SetTimer(
82 this,
85 false
86 );
87 }
88 else
89 {
90 PRINTLOG( TEXT("AnimBlueprint is null"));
91 }
92
93 OnActivate();
94}
FTimerHandle RecoveryTimerHandle
버튼을 원래 상태로 되돌리는 타이머
void RecoveryButton()
버튼을 원래 상태로 되돌림

다음을 참조함 : AnimBlueprint, OnActivate(), PRINTLOG, RecoveryButton(), RecoveryDelay, RecoveryTimerHandle.

다음에 의해서 참조됨 : BeginPlay().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnOutlineStateChanged()

void APedestalSwitch::OnOutlineStateChanged ( bool  bShouldShowOutline)

APedestalSwitch.cpp 파일의 106 번째 라인에서 정의되었습니다.

107{
108 if (SwitchBody)
109 {
110 SwitchBody->SetRenderCustomDepth(bShouldShowOutline);
111 }
112}

다음을 참조함 : SwitchBody.

다음에 의해서 참조됨 : BeginPlay().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ RecoveryButton()

void APedestalSwitch::RecoveryButton ( )
private

버튼을 원래 상태로 되돌림

APedestalSwitch.cpp 파일의 96 번째 라인에서 정의되었습니다.

97{
98 AnimBlueprint->ChangeState(false);
99}

다음을 참조함 : AnimBlueprint.

다음에 의해서 참조됨 : OnInteractionTriggered().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ AnimBlueprint

TObjectPtr<class UTweenAnimInstance> APedestalSwitch::AnimBlueprint

APedestalSwitch.h 파일의 45 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : InitSwitch(), OnInteractionTriggered(), RecoveryButton().

◆ InteractableComp

TObjectPtr<class UInteractableComponent> APedestalSwitch::InteractableComp

InteractableComponent - 상호작용 시스템

APedestalSwitch.h 파일의 40 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : APedestalSwitch(), BeginPlay().

◆ RecoveryDelay

float APedestalSwitch::RecoveryDelay = 0.5f

APedestalSwitch.h 파일의 48 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : OnInteractionTriggered().

◆ RecoveryTimerHandle

FTimerHandle APedestalSwitch::RecoveryTimerHandle
private

버튼을 원래 상태로 되돌리는 타이머

APedestalSwitch.h 파일의 52 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : OnInteractionTriggered().

◆ SwitchBody

TObjectPtr<class USkeletalMeshComponent> APedestalSwitch::SwitchBody

APedestalSwitch.h 파일의 36 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : APedestalSwitch(), InitSwitch(), OnOutlineStateChanged().

◆ WidgetComp

TObjectPtr<class UWidgetComponent> APedestalSwitch::WidgetComp

APedestalSwitch.h 파일의 42 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : APedestalSwitch(), BeginPlay().


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