데미지 적용
This commit is contained in:
parent
3d16edc013
commit
ff5c2b0a83
BIN
Content/Maps/Main.umap
(Stored with Git LFS)
BIN
Content/Maps/Main.umap
(Stored with Git LFS)
Binary file not shown.
@ -44,5 +44,6 @@ void ABasePawn::Fire()
|
||||
{
|
||||
FVector Location = ProjectileSpawnPoint->GetComponentLocation();
|
||||
FRotator Rotation = ProjectileSpawnPoint->GetComponentRotation();
|
||||
GetWorld()->SpawnActor<AProjectile>(ProjectileClass, Location, Rotation);
|
||||
auto Projectile = GetWorld()->SpawnActor<AProjectile>(ProjectileClass, Location, Rotation);
|
||||
Projectile->SetOwner(this);
|
||||
}
|
||||
|
@ -33,5 +33,8 @@ void UHealthComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActo
|
||||
|
||||
void UHealthComponent::DamageTaken(AActor* DamagedActor, float Damage, const UDamageType* DamageType, AController* Instigator, AActor* DamageCauser)
|
||||
{
|
||||
UE_LOG(LogTemp, Warning, TEXT("Damage Taken"));
|
||||
if (Damage <= 0.0f)
|
||||
return;
|
||||
Health -= Damage;
|
||||
UE_LOG(LogTemp, Warning, TEXT("Health: %f"), Health);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "Projectile.h"
|
||||
|
||||
#include "GameFramework/ProjectileMovementComponent.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
|
||||
// Sets default values
|
||||
AProjectile::AProjectile()
|
||||
@ -35,8 +36,17 @@ void AProjectile::Tick(float DeltaTime)
|
||||
|
||||
void AProjectile::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||
{
|
||||
UE_LOG(LogTemp, Warning, TEXT("HitComp: %s, Other Actor: %s, Other Comp: %s"),
|
||||
*HitComp->GetName(), *OtherActor->GetName(), *OtherComp->GetName());
|
||||
auto MyOwner = GetOwner();
|
||||
if (MyOwner == nullptr)
|
||||
return;
|
||||
auto MyOwnerInstigator = MyOwner->GetInstigatorController();
|
||||
auto DamageTypeClass = UDamageType::StaticClass();
|
||||
|
||||
if (OtherActor && OtherActor != this && OtherActor != MyOwner)
|
||||
{
|
||||
UGameplayStatics::ApplyDamage(OtherActor, Damage, MyOwnerInstigator, this, DamageTypeClass);
|
||||
Destroy();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -35,4 +35,8 @@ private:
|
||||
// Function for Hit Event
|
||||
UFUNCTION()
|
||||
void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit);
|
||||
|
||||
// Damage amount for projectile
|
||||
UPROPERTY(EditAnywhere)
|
||||
float Damage = 50.0f;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user