27 virtual void StartTargeting(UGameplayAbility* Ability)
override;
28 virtual void PerformTrace(TArray<FHitResult>& OutHits)
override;
29 virtual void StopTargeting()
override;
32 USkeletalMeshComponent* ResolveTraceMeshComponent()
const;
35 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category =
"Trace")
38 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Trace")
39 FName MeshComponentTag = FName("WeaponTrace");
41 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Trace")
42 FName StartSocketName = FName("BN_Weapon01");
44 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Trace")
45 FName EndSocketName = FName("BN_Weapon03_end");
47 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Trace")
48 float TraceRadius = 30.0f;
50 UPROPERTY(EditDefaultsOnly, Category = "Trace|Substep")
51 uint8 bUseSubstepSweep : 1 = true;
53 UPROPERTY(EditDefaultsOnly, Category = "Trace|Substep", meta = (ClampMin = "1", ClampMax = "10"))
54 int32 MaxSubsteps = 8;
56 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Trace|Substep")
57 uint8 bAddTrailSweeps : 1 = false;
60 FVector PrevStart = FVector::ZeroVector;
61 FVector PrevEnd = FVector::ZeroVector;
62 bool bTraceSocketReady = false;
63 bool bHasPrevPos = false;
67 TObjectPtr<USkeletalMeshComponent> TraceMeshComp;