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

#include <SectionGate.h>

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

Public 멤버 함수

 ASectionGate ()
 
void SetGateState (const EGateOperation Operation)
 
void ApplyGateState (EGateState NewState, bool bForce=false)
 
FORCEINLINE EGateState GetGateState () const
 
virtual EStageEvent GetStageEvent () const override
 
FORCEINLINE bool IsLocked () const
 
virtual UStageEventListenerComponent * GetEventListenerComponent () const override
 
- IStageEventListenerInterface(으)로부터 상속된 Public 멤버 함수
virtual EListenerSlot GetSlotForEvent (const FName EventID) const
 
virtual const TMap< FName, EListenerSlot > * GetListenEvents () const
 

Protected 멤버 함수

virtual void BeginPlay () override
 

Protected 속성

TObjectPtr< UStageEventListenerComponent > EventListenerComponent
 
TObjectPtr< UBoxComponent > BoxComponent
 
EGateState InitialGateState = EGateState::Unlocked
 

Private 속성

EGateState CurrentState = EGateState::Unlocked
 

생성자 & 소멸자 문서화

◆ ASectionGate()

ASectionGate::ASectionGate ( )
14{
15 PrimaryActorTick.bCanEverTick = false;
16
17 BoxComponent = CreateDefaultSubobject<UBoxComponent>(TEXT("BoxComponent"));
18 EventListenerComponent = CreateDefaultSubobject<UStageEventListenerComponent>(TEXT("EventListenerComponent"));
19}
TObjectPtr< UStageEventListenerComponent > EventListenerComponent
Definition SectionGate.h:76
TObjectPtr< UBoxComponent > BoxComponent
Definition SectionGate.h:79

멤버 함수 문서화

◆ ApplyGateState()

void ASectionGate::ApplyGateState ( EGateState  NewState,
bool  bForce = false 
)
74{
75 if (bForce == false && CurrentState == NewState)
76 {
77 return;
78 }
79
80 CurrentState = NewState;
81 const bool bLocked = (CurrentState == EGateState::Locked);
82
83 SetActorEnableCollision(bLocked);
84 SetActorHiddenInGame(!bLocked);
85 check(BoxComponent);
86
87 BoxComponent->SetCollisionEnabled(bLocked ? ECollisionEnabled::QueryAndPhysics : ECollisionEnabled::NoCollision);
88 BoxComponent->SetCollisionResponseToAllChannels(bLocked ? ECR_Block : ECR_Ignore);
89 BoxComponent->SetGenerateOverlapEvents(bLocked);
90}
EGateState CurrentState
Definition SectionGate.h:86
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ BeginPlay()

void ASectionGate::BeginPlay ( )
overrideprotectedvirtual
23{
24 Super::BeginPlay();
26}
EGateState InitialGateState
Definition SectionGate.h:82
void ApplyGateState(EGateState NewState, bool bForce=false)
Definition SectionGate.cpp:73
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ GetEventListenerComponent()

virtual UStageEventListenerComponent * ASectionGate::GetEventListenerComponent ( ) const
inlineoverridevirtual

IStageEventListenerInterface를 구현.

67 {
69 }

◆ GetGateState()

FORCEINLINE EGateState ASectionGate::GetGateState ( ) const
inline
49 {
50 return CurrentState;
51 }

◆ GetStageEvent()

virtual EStageEvent ASectionGate::GetStageEvent ( ) const
inlineoverridevirtual

◆ IsLocked()

FORCEINLINE bool ASectionGate::IsLocked ( ) const
inline
61 {
63 }

◆ SetGateState()

void ASectionGate::SetGateState ( const EGateOperation  Operation)
30{
31 EGateState Target = CurrentState;
32
33 switch (Operation)
34 {
36 {
38 break;
39 }
40
42 {
43 Target = EGateState::Unlocked;
44 break;
45 }
46
48 {
49 Target = EGateState::Locked;
50 break;
51 }
52 }
53
54 if (CurrentState == Target)
55 {
56 return;
57 }
58
59 auto Lambda = [this, Target](USectionGateStateCommand* Command)
60 {
61 Command->Initialize(this, CurrentState, Target);
62 };
63
64 if (USnapshotSubsystem::ProcessNewCommand<USectionGateStateCommand>(this, Lambda))
65 {
66 return;
67 }
68
69 ApplyGateState(Target);
70}
EGateState
Definition SectionGate.h:17
Definition SectionGateStateCommand.h:12
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ BoxComponent

TObjectPtr<UBoxComponent> ASectionGate::BoxComponent
protected

◆ CurrentState

EGateState ASectionGate::CurrentState = EGateState::Unlocked
private

◆ EventListenerComponent

TObjectPtr<UStageEventListenerComponent> ASectionGate::EventListenerComponent
protected

◆ InitialGateState

EGateState ASectionGate::InitialGateState = EGateState::Unlocked
protected

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