if (!CanFireShot()) return;
EmptyActionPoints();
FVector start = GetActorLocation();
start += GunOffset;
start.Y = 0.f;
FVector target = dest;
target.Y = 0.f;
FRotator direction = UKismetMathLibrary::FindLookAtRotation(start, target);
direction.Yaw = 0.f;
UWorld* const World = GetWorld();
if (World != NULL)
{
AProjectile *proj = World->SpawnActor<AProjectile>(start, direction);
}
World->GetTimerManager().SetTimer(TimerHandle_ShotTimerExpired, this, &ABaseUnit::ShotTimerExpired, FireRate);