5#include "CoreMinimal.h"
7#include "EnemyStrafeComponent.generated.h"
12UCLASS(ClassGroup=(AI), meta=(BlueprintSpawnableComponent))
18 virtual
void InitializeBehavior(const
FEnemyExtendedData& EnemyExtendedData, FName RowName) override;
20 virtual
void ResetState() override;
22 FORCEINLINE
void SetCurrentStrafeDirection(
float NewDirection) { CurrentStrafeDirection = NewDirection; }
23 FORCEINLINE
float GetCurrentStrafeDirection()
const {
return CurrentStrafeDirection; }
25 FORCEINLINE
float GetStrafeSpeed()
const {
return StrafeSpeed; }
26 FORCEINLINE
float GetStrafeDelay()
const {
return StrafeDelay; }
27 FORCEINLINE
float GetStrafeDistanceMin()
const {
return StrafeDistanceMin; }
28 FORCEINLINE
float GetStrafeDistanceMax()
const {
return StrafeDistanceMax; }
29 FORCEINLINE
float GetDirectionChangeChance()
const {
return DirectionChangeChance; }
32 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category =
"AI|Strafe|State")
33 float CurrentStrafeDirection = 1.0f;
35 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "AI|Strafe|Config")
36 float StrafeSpeed = 0.0f;
38 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "AI|Strafe|Config")
39 float StrafeDelay = 0.0f;
41 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "AI|Strafe|Config")
42 float StrafeDistanceMin = 400.0f;
44 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "AI|Strafe|Config")
45 float StrafeDistanceMax = 550.0f;
47 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "AI|Strafe|Config")
48 float DirectionChangeChance = 0.3f;
Definition EnemyBehaviorComponent.h:13
Definition EnemyAITable.h:43
Definition CharacterControlData.h:142