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

#include <ADoor.h>

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

Public 멤버 함수

 ADoor ()
 
void CloseDoor ()
 
virtual void CloseDoor_Implementation ()
 
void OnDoorMessage (int32 InDoorIndex, bool bInOpen, AActor *EventInstigator)
 
void OpenDoor ()
 
virtual void OpenDoor_Implementation ()
 
void UpdateDoor (float InAlpha)
 

Public 속성

bool bStartOpened = false
 맵 배치 시 문이 열린 상태로 시작할지 여부
 
int32 DoorIndex = 0
 
FVector LeftOpen = FVector(-120,0,0)
 
bool OneShot = false
 
int32 ReqCount = 1
 
FVector RightOpen = FVector(120,0,0)
 
TObjectPtr< USceneComponent > SceneRoot
 
TObjectPtr< UStaticMeshComponent > SM_Frame
 
TObjectPtr< UStaticMeshComponent > SM_Left
 
TObjectPtr< UStaticMeshComponent > SM_Right
 

Protected 멤버 함수

virtual void BeginPlay () override
 

Private 속성

float Alpha = 0.0f
 
int32 CurCount = 0
 

상세한 설명

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

생성자 & 소멸자 문서화

◆ ADoor()

ADoor::ADoor ( )

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

14{
15 SceneRoot = CreateDefaultSubobject<USceneComponent>(TEXT("SceneRoot"));
16 SetRootComponent(SceneRoot);
17
18 SM_Frame = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("SM_Frame"));
19 SM_Frame->SetupAttachment(SceneRoot);
21
22 SM_Right = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("SM_Right"));
23 SM_Right->SetupAttachment(SceneRoot);
25
26 SM_Left = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("SM_Left"));
27 SM_Left->SetupAttachment(SceneRoot);
29}
#define DOOR_FRAME_PATH
Definition ADoor.cpp:9
#define DOOR_LEFT_PATH
Definition ADoor.cpp:10
#define DOOR_RIGHT_PATH
Definition ADoor.cpp:11
TObjectPtr< UStaticMeshComponent > SM_Right
Definition ADoor.h:44
TObjectPtr< UStaticMeshComponent > SM_Left
Definition ADoor.h:42
TObjectPtr< USceneComponent > SceneRoot
Definition ADoor.h:37
TObjectPtr< UStaticMeshComponent > SM_Frame
Definition ADoor.h:40
static T * LoadAsset(const TCHAR *Path)

다음을 참조함 : DOOR_FRAME_PATH, DOOR_LEFT_PATH, DOOR_RIGHT_PATH, FComponentHelper::LoadAsset(), SceneRoot, SM_Frame, SM_Left, SM_Right.

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

멤버 함수 문서화

◆ BeginPlay()

void ADoor::BeginPlay ( )
overrideprotectedvirtual

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

32{
33 Super::BeginPlay();
34
35 UBroadcastManager::Get(GetWorld())->OnDoorMessage.AddDynamic(this, &ADoor::OnDoorMessage);
36
37 // 맵 배치 시 설정한 초기 상태 적용
38 if (bStartOpened)
39 {
40 Alpha = 1.0f;
42 }
43 else
44 {
45 Alpha = 0.0f;
47 }
48}
void UpdateDoor(float InAlpha)
Definition ADoor.cpp:50
float Alpha
Definition ADoor.h:66
bool bStartOpened
맵 배치 시 문이 열린 상태로 시작할지 여부
Definition ADoor.h:57
void OnDoorMessage(int32 InDoorIndex, bool bInOpen, AActor *EventInstigator)
Definition ADoor.cpp:73

다음을 참조함 : Alpha, bStartOpened, OnDoorMessage(), UpdateDoor().

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

◆ CloseDoor()

void ADoor::CloseDoor ( )

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

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

◆ CloseDoor_Implementation()

void ADoor::CloseDoor_Implementation ( )
virtual

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

92{
93}

◆ OnDoorMessage()

void ADoor::OnDoorMessage ( int32  InDoorIndex,
bool  bInOpen,
AActor *  EventInstigator 
)

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

74{
75 if (InDoorIndex != DoorIndex)
76 return;
77
78 CurCount += (bInOpen ? 1 : -1);
79 CurCount = FMath::Clamp(CurCount, 0, ReqCount); // 안전
80
81 if (CurCount >= ReqCount)
82 OpenDoor();
83 else
84 CloseDoor();
85}
int32 DoorIndex
Definition ADoor.h:47
int32 CurCount
Definition ADoor.h:65
void OpenDoor()
void CloseDoor()
int32 ReqCount
Definition ADoor.h:50

다음을 참조함 : CloseDoor(), CurCount, DoorIndex, OpenDoor(), ReqCount.

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

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

◆ OpenDoor()

void ADoor::OpenDoor ( )

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

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

◆ OpenDoor_Implementation()

void ADoor::OpenDoor_Implementation ( )
virtual

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

88{
89}

◆ UpdateDoor()

void ADoor::UpdateDoor ( float  InAlpha)

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

51{
52 Alpha = InAlpha; // Blueprint에서 SET 한 것과 대응
53
54 // Right
55 {
56 const FVector ClosedPos = FVector::ZeroVector;
57 const FVector OpenPos = RightOpen;
58
59 const FVector NewPos = FMath::Lerp(ClosedPos, OpenPos, Alpha);
60 SM_Right->SetRelativeLocation(NewPos, false, nullptr, ETeleportType::None);
61 }
62
63 // Left
64 {
65 const FVector ClosedPos = FVector::ZeroVector;
66 const FVector OpenPos = LeftOpen;
67
68 const FVector NewPos = FMath::Lerp(ClosedPos, OpenPos, Alpha);
69 SM_Left->SetRelativeLocation(NewPos, false, nullptr, ETeleportType::None);
70 }
71}
FVector RightOpen
Definition ADoor.h:62
FVector LeftOpen
Definition ADoor.h:60

다음을 참조함 : Alpha, LeftOpen, RightOpen, SM_Left, SM_Right.

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

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

멤버 데이터 문서화

◆ Alpha

float ADoor::Alpha = 0.0f
private

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

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

◆ bStartOpened

bool ADoor::bStartOpened = false

맵 배치 시 문이 열린 상태로 시작할지 여부

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

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

◆ CurCount

int32 ADoor::CurCount = 0
private

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

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

◆ DoorIndex

int32 ADoor::DoorIndex = 0

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

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

◆ LeftOpen

FVector ADoor::LeftOpen = FVector(-120,0,0)

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

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

◆ OneShot

bool ADoor::OneShot = false

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

◆ ReqCount

int32 ADoor::ReqCount = 1

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

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

◆ RightOpen

FVector ADoor::RightOpen = FVector(120,0,0)

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

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

◆ SceneRoot

TObjectPtr<USceneComponent> ADoor::SceneRoot

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

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

◆ SM_Frame

TObjectPtr<UStaticMeshComponent> ADoor::SM_Frame

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

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

◆ SM_Left

TObjectPtr<UStaticMeshComponent> ADoor::SM_Left

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

다음에 의해서 참조됨 : ADoor(), UpdateDoor().

◆ SM_Right

TObjectPtr<UStaticMeshComponent> ADoor::SM_Right

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

다음에 의해서 참조됨 : ADoor(), UpdateDoor().


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