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

#include <AnimNotify_PlayCameraEffect.h>

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

Public 멤버 함수

virtual void Notify (USkeletalMeshComponent *MeshComp, UAnimSequenceBase *Animation, const FAnimNotifyEventReference &EventReference) override
 
virtual FString GetNotifyName_Implementation () const override
 

Protected 속성

virtual TSoftObjectPtr< UTemplateSequence > GetCameraEffectSequence (const USkeletalMeshComponent *MeshComp) const PURE_VIRTUAL(UAnimNotify_PlayCameraEffectBase
 

Private 멤버 함수

bool TryCacheingCameraEffectSequence (const USkeletalMeshComponent *MeshComp)
 

Private 속성

TObjectPtr< UTemplateSequence > CameraEffectSequenceInstance
 

멤버 함수 문서화

◆ GetNotifyName_Implementation()

FString UAnimNotify_PlayCameraEffectBase::GetNotifyName_Implementation ( ) const
overridevirtual
66{
67 return "Play Camera Effect";
68}

◆ Notify()

void UAnimNotify_PlayCameraEffectBase::Notify ( USkeletalMeshComponent *  MeshComp,
UAnimSequenceBase *  Animation,
const FAnimNotifyEventReference &  EventReference 
)
overridevirtual
20{
21 Super::Notify(MeshComp, Animation, EventReference);
22
23 if (MeshComp == nullptr || MeshComp->GetWorld() == nullptr || MeshComp->GetWorld()->IsGameWorld() == false)
24 {
25 return;
26 }
27
28 if (TryCacheingCameraEffectSequence(MeshComp) == false)
29 {
30 return;
31 }
32
33 UWorld* World = MeshComp->GetWorld();
34 APlayerController* PC = World->GetFirstPlayerController();
35
36 if (PC == nullptr)
37 {
38 LOG_ERROR(LogCK, "%s를 찾을 수 없습니다.", NAMEOF(APlayerController));
39 return;
40 }
41
42 AGameCameraManager* CameraManager = Cast<AGameCameraManager>(PC->PlayerCameraManager);
43
44 if (CameraManager == nullptr)
45 {
46 LOG_ERROR(LogCK, "%s를 찾을 수 없습니다.", NAMEOF(AGameCameraManager));
47 return;
48 }
49
50 FActorSpawnParameters SpawnParams;
51 SpawnParams.Owner = CameraManager;
52
53 ACameraEffector* Effector = World->SpawnActor<ACameraEffector>(ACameraEffector::StaticClass(), FTransform::Identity, SpawnParams);
54
55 if (Effector == nullptr)
56 {
57 LOG_ERROR(LogCK, "%s 스폰에 실패했습니다.", NAMEOF(ACameraEffector));
58 return;
59 }
60
62}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
#define NAMEOF(Type)
Definition CK_UE.h:30
Definition CameraEffector.h:40
Definition GameCameraManager.h:28
void PlayCameraEffectSequence(ACameraEffector *Effector, UTemplateSequence *Sequence=nullptr)
Definition GameCameraManager.cpp:149
bool TryCacheingCameraEffectSequence(const USkeletalMeshComponent *MeshComp)
Definition AnimNotify_PlayCameraEffect.cpp:71
TObjectPtr< UTemplateSequence > CameraEffectSequenceInstance
Definition AnimNotify_PlayCameraEffect.h:34
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ TryCacheingCameraEffectSequence()

bool UAnimNotify_PlayCameraEffectBase::TryCacheingCameraEffectSequence ( const USkeletalMeshComponent *  MeshComp)
private
72{
73 const TSoftObjectPtr<UTemplateSequence> SequencerSoftPtr = GetCameraEffectSequence(MeshComp);
74
75 if (SequencerSoftPtr.IsNull())
76 {
77 return false; //단순히 설정되지 않았거나 조건에 맞지 않는 경우.
78 }
79
80 UTemplateSequence* Sequencer = SequencerSoftPtr.LoadSynchronous();
81
82 if (ensureAlwaysMsgf(Sequencer, TEXT("%s를 불러오지 못했습니다. "), NAMEOF_VAR(Sequencer)) == false)
83 {
84 return false;
85 }
86
88 return CameraEffectSequenceInstance != nullptr;
89}
#define NAMEOF_VAR(Expr)
Definition CK_UE.h:34
virtual TSoftObjectPtr< UTemplateSequence > GetCameraEffectSequence(const USkeletalMeshComponent *MeshComp) const PURE_VIRTUAL(UAnimNotify_PlayCameraEffectBase
Definition AnimNotify_PlayCameraEffect.h:27
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ CameraEffectSequenceInstance

TObjectPtr<UTemplateSequence> UAnimNotify_PlayCameraEffectBase::CameraEffectSequenceInstance
private

◆ GetCameraEffectSequence

virtual TSoftObjectPtr<UTemplateSequence> UAnimNotify_PlayCameraEffectBase::GetCameraEffectSequence(const USkeletalMeshComponent *MeshComp) const PURE_VIRTUAL(UAnimNotify_PlayCameraEffectBase
protected

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