17{
18 Super::Notify(MeshComp, Animation, EventReference);
19
20 if (MeshComp == nullptr || MeshComp->GetWorld()->IsGameWorld() == false)
21 {
22 return;
23 }
24
25 const AActor* OwnerActor = MeshComp->GetOwner();
26 check(OwnerActor);
27
28 TArray<UProjectileLauncherComponent*> ProjectileLauncherComponents;
29 OwnerActor->GetComponents<UProjectileLauncherComponent>(ProjectileLauncherComponents);
30
31 if (ProjectileLauncherComponents.IsEmpty())
32 {
34 return;
35 }
36
37 AProjectileBase* SpawnedProjectile = ProjectileLauncherComponents[0]->Launch
38 (
42 );
43
44 FGameplayEventData PayloadData;
45 PayloadData.Target = SpawnedProjectile;
46 UAbilitySystemBlueprintLibrary::SendGameplayEventToActor(MeshComp->GetOwner(),
TriggerTag, PayloadData);
47}
#define NAMEOF_VAR(Expr)
Definition CK_UE.h:34
Definition ProjectileBase.h:81
FGameplayTag TriggerTag
Definition AnimNotify_SpawnProjectile.h:36
FVector SpawnOffset
Definition AnimNotify_SpawnProjectile.h:42
virtual FVector GetProjectileLaunchDirection(const AActor *OwnerActor)
Definition AnimNotify_SpawnProjectile.cpp:56
TSubclassOf< AProjectileBase > ProjectileClass
Definition AnimNotify_SpawnProjectile.h:39