5#include "CoreMinimal.h"
6#include "Components/ActorComponent.h"
9#include "AimAssistComponent.generated.h"
23UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent) )
32 virtual
float CameraMovedUp(const
float Value);
34 virtual
float CameraMovedRight(const
float Value);
36 UFUNCTION(BlueprintCallable, Category="Aim Assist")
37 void SetIsAiming(const
bool bValue);
39 UFUNCTION(BlueprintCallable, Category="Aim Assist")
40 int32 GetAimAssistLevel() const;
41 UFUNCTION(BlueprintCallable, Category="Aim Assist")
42 void SetAimAssistLevel(const int32 Value);
45 UFUNCTION(BlueprintCallable, Category="Aim Assist")
50#if WITH_GAMEPLAY_DEBUGGER
52 FAimAssist GetAimAssistData()
const {
return AimAssistData;}
53 TArray<FAimAssistHit> GetCurrentTargets()
const {
return Targets;};
54 int32 GetCurrentTarget()
const {
return CurrentTarget;};
55 float GetCameraUp()
const {
return CurrentCameraUp;};
56 float GetCameraRight()
const {
return CurrentCameraRight;};
58 void SetShowAimTraces(
const bool bValue){bShowAimTraces = bValue;};
64 virtual void BeginPlay()
override;
66 virtual void ComponentSetupComplete()
override;
68 UFUNCTION(BlueprintCallable, Category=
"Aim Assist")
69 void StartSphereTrace();
70 UFUNCTION(BlueprintCallable, Category="Aim Assist")
71 void StopSphereTrace();
73 UFUNCTION(BlueprintCallable, Category="Aim Assist")
76 UFUNCTION(BlueprintCallable, Category="Aim Assist")
77 void ApplyRotation(const FRotator& TargetRotation) const;
79 UFUNCTION(BlueprintCallable, Category="Aim Assist")
80 float CalculateLerp(const
FAimAssistHit& CurrentAimTarget) const;
82 UFUNCTION(BlueprintCallable, Category="Aim Assist")
87 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Aim Assist")
88 bool bDoesTraceTick = true;
89 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Aim Assist")
90 bool bOnlyTickOnCameraMovement = true;
91 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Aim Assist")
92 bool bDelayTraceEnd = false;
95 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Aim Assist")
96 bool bOnlyOnSameCameraDirection = true;
100 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Aim Assist")
101 float TraceTickRate = 0.1f;
102 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Aim Assist")
103 float TraceDelay = 0.5f;
105 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Aim Assist|Debugging")
106 float DebugTraceTime = 0.5f;
107 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category= "Aim Assist")
110 UFUNCTION(BlueprintCallable, Category="Aim Assist")
113 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Aim Assist")
115 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Aim Assist")
116 int32 CurrentTarget = -1;
118 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Aim Assist|Camera")
119 bool bMovingAxis = false;
120 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Aim Assist|Camera")
121 float CurrentCameraUp = 0.0f;
122 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Aim Assist|Camera")
123 float CurrentCameraRight = 0.0f;
125 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Aim Assist|Camera")
126 bool bAiming = false;
127 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Aim Assist")
128 int32 AimAssistLevel = 1;
131 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
132 float CalculateSpeedModifier() const;
134 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
135 float CalculateDistance2D(const FVector& TargetLocation) const;
137 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
138 float CalculateDistance2DModifier(const
float Distance2D) const;
141 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
142 float CalculateDistance2DAxisModifier(const
float Distance2D) const;
144 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
145 float CalculateAimModifier() const;
147 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
148 float CalculateHitScore(const FHitResult& HitResult) const;
150 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
151 float CalculateDistanceModifier(const
float Distance) const;
156 UFUNCTION(BlueprintCallable, Category="Aim Assist|Modifiers")
157 float CalculateAxisModifier() const;
162 void DelayTraceEnd(const
float Modifier = 1.0f);
167 bool bTracing = false;
170 bool CheckCanAimAssist();
174 int32 SelectBestTarget() const;
177 void CameraUpInputStopped();
179 void CameraRightInputStopped();
181 void CheckMovingAxis();
184 FVector2D GetScreenLocation(const FVector&
Location) const;
185 float GetNormalizedDistanceFromCenter(const FVector2D& ScreenPosition) const;
188 FTimerHandle CameraUpTimerHandle;
189 FTimerHandle CameraRightTimerHandle;
192 FTimerHandle SphereTraceTimerHandle;
194 bool bCameraMovement = false;
195 FTimerHandle CameraMovedTimerHandle;
197 FTimerHandle CameraResetTimerHandle;
199 FTimerHandle TracingTimerHandle;
201 bool bShowAimTraces = false;
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
This class provides aim assist functionality for player controllers in a game.
Represents an aim assist hit.
Definition InteractionData.h:187
Structure representing the parameters for aim assist in a game.
Definition InteractionData.h:264