Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
CameraEffector.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "CameraEffector.generated.h"
9
11class AActor;
12class APlayerController;
13
14
15USTRUCT(BlueprintType, Blueprintable)
17{
18 GENERATED_BODY()
19
20public:
21 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Camera")
22 int32 UniqueID = 0;
23
24 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Camera")
25 TObjectPtr<UCameraEffectSectionCondition> Condition;
26
27 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Camera")
28 TObjectPtr<UCameraEffectProcessor> Processor;
29
30 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Frame")
31 float StartSeconds = 0.0f;
32
33 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Frame")
34 float EndSeconds = 0.0f;
35};
36
37
38UCLASS(Blueprintable)
39class CK_UE_API ACameraEffector : public AActor
40{
41 GENERATED_BODY()
42
43public:
44 void ForceEndAllEffects();
45
46 FVector GetEffectiveRotation() const;
47 FVector GetRuntimeRotationOffset() const;
48 void SetRuntimeRotationOffset(const FVector& InRuntimeRotationOffset);
49 void ClearRuntimeRotationOffset();
50 void SetFocusTargetActor(AActor* InFocusTargetActor);
51 AActor* GetFocusTargetActor() const;
52 void ClearFocusTargetActor();
53
54public:
55 UFUNCTION(BlueprintCallable, Category = "Camera|Effect")
56 FCameraEffect CreateCameraEffect(int32 SectionID, float StartSeconds, float EndSeconds, const UCameraEffectSource* EffectSource);
57
58public:
59 UFUNCTION(BlueprintCallable, Category = "Camera|Effect")
60 void OnStartCameraEffects(const int32 SectionID);
61
62 UFUNCTION(BlueprintCallable, Category = "Camera|Effect")
63 void OnEndCameraEffects(const int32 SectionID);
64
65 UFUNCTION(BlueprintCallable, Category = "Camera|Effect")
66 void OnExecuteCameraEffects(const int32 SectionID);
67
68 UFUNCTION(BlueprintCallable, Category = "Camera")
69 bool OnInitializeCameraEffect(const FCameraEffect& CameraEffect);
70
71private:
72 bool TryGetCameraEffect(const int32 SectionID, OUT FCameraEffect& CameraEffect);
73
74public:
75 UPROPERTY(EditAnywhere, Interp, BlueprintReadWrite, Category = "Camera")
76 FVector Position = FVector::ZeroVector;
77
78 UPROPERTY(EditAnywhere, Interp, BlueprintReadWrite, Category = "Camera")
79 FVector Rotation = FVector::ZeroVector;
80
81 UPROPERTY(EditAnywhere, Interp, BlueprintReadWrite, Category = "Camera")
82 float WorldTimeScale = 1.0f;
83
84 UPROPERTY(EditAnywhere, Interp, BlueprintReadWrite, Category = "Camera")
85 float FieldOfViewOffset = 0.0f;
86
87 UPROPERTY(EditAnywhere, Interp, BlueprintReadWrite, Category = "Camera")
88 bool bStopMovement = false;
89
90 UPROPERTY(EditAnywhere, Interp, BlueprintReadWrite, Category = "Camera")
91 bool bStopRotation = false;
92
93protected:
94 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Shake")
95 TMap<int32, FCameraEffect> CameraEffectMap;
96
97 UPROPERTY()
98 TWeakObjectPtr<AGameCameraManager> CameraManager;
99
100private:
101 UPROPERTY(Transient)
102 FVector RuntimeRotationOffset = FVector::ZeroVector;
103
104 UPROPERTY(Transient)
105 TWeakObjectPtr<AActor> FocusTargetActor;
106};
Definition CameraEffector.h:40
Definition GameCameraManager.h:28
Definition CameraEffectProcessor.h:25
Definition CameraEffectSectionCondition.h:30
Definition CameraEffectSource.h:14
Definition CameraEffector.h:17