5#include "CoreMinimal.h"
6#include "Animation/AnimInstance.h"
7#include "ProjectXCharacterAnimInstance3P.generated.h"
20class UHookshotComponent;
28 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category =
"Character")
29 UCurveFloat* LeanCurve =
nullptr;
30 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character")
31 float MaxLean = 35.0f;
32 UPROPERTY(BlueprintReadOnly, Category="Character")
33 FRotator LookDirection = FRotator::ZeroRotator;
34 UPROPERTY(BlueprintReadOnly, Category="Character")
35 FVector TargetVelocity = FVector::ZeroVector;
36 UPROPERTY(BlueprintReadOnly, Category="Character")
37 FVector DirectionIntentVector = FVector::ZeroVector;
38 UPROPERTY(BlueprintReadOnly, Category = "Character")
39 FVector SmoothedDirectionIntentVector = FVector::ZeroVector;
40 UPROPERTY(BlueprintReadOnly, Category="Character")
41 FVector Velocity = FVector::ZeroVector;
42 UPROPERTY(BlueprintReadOnly, Category="Character")
43 FVector JetPackRootDeviation = FVector::ZeroVector;
44 UPROPERTY(BlueprintReadOnly, Category="Character")
45 FVector2D JetpackLateralAndForwardSpeed = FVector2D::ZeroVector;
46 UPROPERTY(BlueprintReadOnly, Category="Character")
48 UPROPERTY(BlueprintReadWrite, Category = "Character")
49 bool bIsDiving = false;
50 UPROPERTY(BlueprintReadOnly, Category="Character")
53 UPROPERTY(BlueprintReadOnly, Category = "Character")
54 bool bCanUseIKSolver = false;
56 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character")
57 bool bUseLeftHandIK = false;
58 UPROPERTY(BlueprintReadOnly, Category="Character")
59 bool bIsInAir = false;
60 UPROPERTY(BlueprintReadOnly, Category="Character")
61 bool bHookshotting = false;
62 UPROPERTY(BlueprintReadOnly, Category="Character")
63 bool bHasJetPack = false;
64 UPROPERTY(BlueprintReadOnly, Category="Character")
65 bool bCrouching = false;
66 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Character")
67 bool bIsInVehicle = false;
68 UPROPERTY(BlueprintReadOnly, Category = "Character")
69 bool bIsTightAiming = false;
70 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Character")
71 float CharacterHeight = 200.0f;
72 UPROPERTY(BlueprintReadOnly, Category = "Character")
73 float TargetPitchLean = 0.0f;
74 UPROPERTY(BlueprintReadOnly, Category = "Character")
75 float CurrentGroundDeviationAmount = 0.0f;
76 UPROPERTY(BlueprintReadOnly, Category = "Character")
77 FRotator PitchLean = FRotator::ZeroRotator;
78 UPROPERTY(BlueprintReadOnly, Category = "Character")
79 FRotator DivingAdjustedPitch = FRotator::ZeroRotator;
80 UPROPERTY(BlueprintReadOnly, Category = "Character")
81 FVector ProjectedGroundDeviationOnLean = FVector::ZeroVector;
82 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character")
83 float SmoothedDirectionIntentVectorInterpSpeed = 5.0f;
84 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character")
85 float JetpackIntentVectorScale = 25.0f;
87 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="
Vehicle")
88 UAnimSequence* InVehicleIdleSequence =
nullptr;
89 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="
Vehicle")
90 float VehicleLeanInterpSpeed = 5.0f;
91 UPROPERTY(BlueprintReadOnly, Category="
Vehicle")
92 float ExplicitIdleTime = 0.0f;
93 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="
Vehicle")
94 float VehicleMaxYawDistanceToDriveLean = 25.0f;
95 UPROPERTY(BlueprintReadOnly, Category="
Vehicle")
96 FVector TargetVehicleAcceleration = FVector::ZeroVector;
97 UPROPERTY(BlueprintReadOnly, Category="
Vehicle")
98 FVector LerpedVehicleAcceleration = FVector::ZeroVector;
99 UPROPERTY(BlueprintReadOnly, Category="
Vehicle")
100 float VehicleYawDifferenceFromAim = 0.0f;
101 UPROPERTY(BlueprintReadOnly, Category="
Vehicle")
102 float VehicleRotationTiltAmount = 0.0f;
103 UPROPERTY(BlueprintReadOnly, Category="
Vehicle")
104 float LateralAccelerationBS = 0.0f;
105 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="
Vehicle")
106 bool bAlsoConsiderVehicleTiltOnPoses = false;
107 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category="
Vehicle")
108 bool bUseDynamicDrivingGraph = false;
109 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "
Vehicle")
110 bool bUsePersonalVehicleLeans = false;
112 UPROPERTY(BlueprintReadOnly, Category="Blending")
113 bool bBlendArmsSlot = false;
114 UPROPERTY(BlueprintReadOnly, Category="Blending")
115 bool bIsHookshottingOrHasJetPack = false;
116 UPROPERTY(BlueprintReadOnly, Category="Blending")
117 bool bIsInAirOrHookshotting = false;
118 UPROPERTY(BlueprintReadOnly, Category="Blending")
119 bool bActivelyDrivingVehicle = false;
120 UPROPERTY(BlueprintReadOnly, Category="Blending")
121 FRotator SpineRotationAdjustment = FRotator::ZeroRotator;
122 UPROPERTY(BlueprintReadOnly, Category="Blending")
123 float AnimationPlayRate = 0.0f;
127 virtual
void NativeInitializeAnimation();
130 virtual
void NativeUpdateAnimation(
float DeltaSeconds);
132 virtual
void NativeUninitializeAnimation();
134 void HandleVehicleLeans(
AProjectXCharacter* const ProjectXCharacter,
float DeltaTime);
136 void HandleIntentVector(
AProjectXCharacter* const ProjectXCharacter,
float DeltaTime);
139 void HandlePersonalVehicleLeans(
AProjectXCharacter* const ProjectXCharacter,
float DeltaTime);
142 void TightAimStart();
146 void HookshotStart(const UHookshotComponent* HookshotComponent);
148 void HookshotStop(const UHookshotComponent* HookshotComponent);
150 void CrouchChanged(
bool bToggle);
155 bool bWasDiving = false;
EPlayerClassAnimation
Definition: ProjectXCharacterAnimInstance3P.h:11
Definition: ProjectXCharacter.h:128
Definition: ProjectXVehicle.h:56
Definition: ProjectXCharacterAnimInstance3P.h:24