Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
AT_ApplyVelocityCurve.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "Abilities/Tasks/AbilityTask.h"
6#include "AT_ApplyVelocityCurve.generated.h"
7
8class UCurveFloat;
9class ACharacter;
10class UCharacterMovementComponent;
11
12
13DECLARE_DYNAMIC_MULTICAST_DELEGATE(FApplyVelocityCurveSignature);
14
15
16UCLASS()
17class CK_UE_API UAT_ApplyVelocityCurve : public UAbilityTask
18{
19 GENERATED_BODY()
20
21public:
23
24public:
25 UFUNCTION(BlueprintCallable, Category = "Ability|Tasks", meta = (DisplayName = "Apply Velocity Curve", HidePin = "OwningAbility", DefaultToSelf = "OwningAbility", BlueprintInternalUseOnly = "true"))
26 static UAT_ApplyVelocityCurve* ApplyVelocityCurve(UGameplayAbility* OwningAbility, UCurveFloat* InProgressCurve, FVector Direction, float NormalizationFactor, float Duration, float Distance);
27
28 virtual void Activate() override;
29 virtual void TickTask(float DeltaTime) override;
30 virtual void OnDestroy(bool bInOwnerFinished) override;
31
32protected:
33 UPROPERTY(Transient)
34 TObjectPtr<UCurveFloat> ProgressCurve;
35
36 UPROPERTY(Transient)
37 TObjectPtr<ACharacter> OwnerCharacter;
38
39 UPROPERTY(Transient)
40 TObjectPtr<UCharacterMovementComponent> MovementComponent;
41
42protected:
43 FVector NormalizedDirection = FVector::ZeroVector;
44 FVector ExtraVelocity = FVector::ZeroVector;
45
46protected:
47 float Elapsed = 0.0f;
48 float TaskDuration = 0.0f;
49 float TargetDistance = 0.0f;
50 float NormalizationFactor = 0.0f;
51
52 bool bOriginalUseControllerRotationYaw = false;
53 bool bOriginalOrientRotationToMovement = false;
54 bool bOriginalUseControllerDesiredRotation = false;
55};
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FApplyVelocityCurveSignature)
Definition AT_ApplyVelocityCurve.h:18