40 lines
1000 B
C++
40 lines
1000 B
C++
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||
|
|
||
|
|
||
|
#include "ProjectileRocket.h"
|
||
|
|
||
|
#include "Kismet/GameplayStatics.h"
|
||
|
|
||
|
AProjectileRocket::AProjectileRocket()
|
||
|
{
|
||
|
RocketMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Rocket Mesh"));
|
||
|
RocketMesh->SetupAttachment(RootComponent);
|
||
|
RocketMesh->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||
|
}
|
||
|
|
||
|
void AProjectileRocket::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||
|
{
|
||
|
APawn* FiringPawn = GetInstigator();
|
||
|
if (FiringPawn)
|
||
|
{
|
||
|
AController* FiringController = FiringPawn->GetController();
|
||
|
if (FiringController)
|
||
|
{
|
||
|
UGameplayStatics::ApplyRadialDamageWithFalloff(
|
||
|
this,
|
||
|
Damage,
|
||
|
10.f,
|
||
|
GetActorLocation(),
|
||
|
200.f,
|
||
|
500.f,
|
||
|
1.f,
|
||
|
UDamageType::StaticClass(),
|
||
|
TArray<AActor*>(),
|
||
|
this,
|
||
|
FiringController
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
Super::OnHit(HitComp, OtherActor, OtherComp, NormalImpulse, Hit);
|
||
|
}
|