Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
AnimNotify_PlayCameraEffect.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Animation/AnimNotifies/AnimNotify.h"
7#include "GameplayTagContainer.h"
8#include "AnimNotify_PlayCameraEffect.generated.h"
9
10
11struct FInstancedStruct;
12class ACharacterBase;
13class UTemplateSequence;
14class ACameraEffector;
15
16
17UCLASS(Abstract)
18class CK_UE_API UAnimNotify_PlayCameraEffectBase : public UAnimNotify
19{
20 GENERATED_BODY()
21
22public:
23 virtual void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, const FAnimNotifyEventReference& EventReference) override;
24 virtual FString GetNotifyName_Implementation() const override;
25
26protected:
27 virtual TSoftObjectPtr<UTemplateSequence> GetCameraEffectSequence(const USkeletalMeshComponent* MeshComp) const PURE_VIRTUAL(UAnimNotify_PlayCameraEffectBase::GetCameraEffectSequence, return nullptr;);
28
29private:
30 bool TryCacheingCameraEffectSequence(const USkeletalMeshComponent* MeshComp);
31
32private:
33 UPROPERTY(Transient)
34 TObjectPtr<UTemplateSequence> CameraEffectSequenceInstance;
35};
36
37
38UCLASS()
40{
41 GENERATED_BODY()
42
43protected:
44 virtual TSoftObjectPtr<UTemplateSequence> GetCameraEffectSequence(const USkeletalMeshComponent* MeshComp) const override;
45
46protected:
47 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera Effect")
48 TSoftObjectPtr<UTemplateSequence> CameraEffectSequence;
49};
50
51
52
53USTRUCT(BlueprintType)
55{
56 GENERATED_BODY()
57
58public:
59 virtual ~FCameraEffectCondition() = default;
60 virtual bool CheckCondition(const ACharacterBase* CharacterBase) const { return true; }
61
62public:
63 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera Effect")
64 TSoftObjectPtr<UTemplateSequence> CameraEffectSequence;
65};
66
67
68USTRUCT(BlueprintType)
70{
71 GENERATED_BODY()
72
73public:
74 virtual bool CheckCondition(const ACharacterBase* CharacterBase) const override;
75
76public:
77 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera Effect")
78 FGameplayTagContainer GamePlayTags;
79};
80
81
82USTRUCT(BlueprintType)
84{
85 GENERATED_BODY()
86
87public:
88 virtual bool CheckCondition(const ACharacterBase* CharacterBase) const override;
89
90public:
91 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera Effect", meta = (AllowAbstract = "true"))
92 TSubclassOf<AActor> TargetClass;
93};
94
95
96UCLASS()
98{
99 GENERATED_BODY()
100
101protected:
102 virtual TSoftObjectPtr<UTemplateSequence> GetCameraEffectSequence(const USkeletalMeshComponent* MeshComp) const override;
103
104protected:
105 UPROPERTY(EditAnywhere, Category = "Camera Effect", meta = (BaseStruct = "/Script/CK_UE.CameraEffectCondition", ExcludeBaseStruct))
106 TArray<FInstancedStruct> CameraEffectSequences;
107};
Definition CameraEffector.h:40
Definition CharacterBase.h:21
Definition AnimNotify_PlayCameraEffect.h:19
virtual TSoftObjectPtr< UTemplateSequence > GetCameraEffectSequence(const USkeletalMeshComponent *MeshComp) const PURE_VIRTUAL(UAnimNotify_PlayCameraEffectBase
Definition AnimNotify_PlayCameraEffect.h:27
Definition AnimNotify_PlayCameraEffect.h:40
Definition AnimNotify_PlayCameraEffect.h:98
Definition AnimNotify_PlayCameraEffect.h:70
Definition AnimNotify_PlayCameraEffect.h:84
Definition AnimNotify_PlayCameraEffect.h:55
virtual bool CheckCondition(const ACharacterBase *CharacterBase) const
Definition AnimNotify_PlayCameraEffect.h:60
virtual ~FCameraEffectCondition()=default