5#include "CoreMinimal.h"
6#include "Engine/DataTable.h"
7#include "Animation/AnimNotifies/AnimNotify.h"
8#include "AnimNotify_Footstep.generated.h"
25 GENERATED_USTRUCT_BODY()
27 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category =
"Footstep Sounds")
28 USoundBase* DefaultSound;
29 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
31 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
33 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
35 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
37 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
38 UParticleSystem* DefaultParticles;
39 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
40 UParticleSystem* RunParticles;
41 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
42 UParticleSystem* WalkParticles;
43 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
44 UParticleSystem* LandParticles;
45 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
46 UParticleSystem* CrouchParticles;
47 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Footstep Sounds")
48 UMaterialInterface* FootstepDecal = NULL;
58 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"AnimNotify", meta = (EditCondition =
"bFollow", ExposeOnSpawn =
true))
59 FName AttachName = NAME_None;
61 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AnimNotify", meta = (EditCondition = "bFollow", ExposeOnSpawn = true))
63 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AnimNotify")
64 float MaxDrawDistance = 10000.0f;
66 static
void Footstep(class USkeletalMeshComponent* MeshComp,
EFootstepType FootstepType, FName AttachSocket = NAME_None,
float MaxDrawDistance = 10000.0f);
69 virtual
void Notify(class USkeletalMeshComponent* MeshComp, class UAnimSequenceBase* Animation) override;
70 static
void PlayEffectAtLocation(const
FFootstepsTableRow* FootstepRow, const FVector Location, const class USkeletalMeshComponent* MeshComp,
EFootstepType FootstepType,
float MaxDrawDistance);