From 4adbb38f274e0f850baf353f58a5426a59a48ec2 Mon Sep 17 00:00:00 2001 From: chad Date: Mon, 29 Sep 2025 08:51:39 -0400 Subject: [PATCH] Apply Damage --- Content/Maps/Main.umap | Bin 139701 -> 141746 bytes Source/ToonTanks/BasePawn.cpp | 3 ++- Source/ToonTanks/HealthComponent.cpp | 3 +++ Source/ToonTanks/Projectile.cpp | 13 +++++++++++++ Source/ToonTanks/Projectile.h | 3 +++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Content/Maps/Main.umap b/Content/Maps/Main.umap index 7f02b4ae01ef9de512dbbbe91e416cd18972e09f..85dcefc3d4b3e1e6ea1fe55be765fcc1dd7a9762 100644 GIT binary patch delta 29712 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 B^Mn8Z literal 139701 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

-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 - GetWorld()->SpawnActor(ProjectileClass, Location, Rotation); + auto Projectile = GetWorld()->SpawnActor(ProjectileClass, Location, Rotation); + Projectile->SetOwner(this); /*DrawDebugSphere( GetWorld(), diff --git a/Source/ToonTanks/HealthComponent.cpp b/Source/ToonTanks/HealthComponent.cpp index f0b1ad3..cde3bfd 100644 --- a/Source/ToonTanks/HealthComponent.cpp +++ b/Source/ToonTanks/HealthComponent.cpp @@ -36,6 +36,9 @@ void UHealthComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActo void UHealthComponent::DamageTaken(AActor* DamagedActor, float Damage, const UDamageType* DamageType, class AController* Instigator, AActor* DamageCauser) { + if (Damage <= 0.f) return; + Health -= Damage; + UE_LOG(LogTemp, Warning, TEXT("Health left: %f"), Health); } diff --git a/Source/ToonTanks/Projectile.cpp b/Source/ToonTanks/Projectile.cpp index 5062fe6..b5ee8ef 100644 --- a/Source/ToonTanks/Projectile.cpp +++ b/Source/ToonTanks/Projectile.cpp @@ -4,6 +4,9 @@ #include "Projectile.h" #include "Components/StaticMeshComponent.h" #include "GameFramework/ProjectileMovementComponent.h" +#include "GameFramework/DamageType.h" +#include "Kismet/GameplayStatics.h" +#include "Engine/DamageEvents.h" // Sets default values AProjectile::AProjectile() @@ -39,7 +42,17 @@ void AProjectile::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimi UE_LOG(LogTemp, Warning, TEXT("HitComp: %s"), *HitComp->GetName()); UE_LOG(LogTemp, Warning, TEXT("OtherActor: %s"), *OtherActor->GetName()); UE_LOG(LogTemp, Warning, TEXT("OtherComp: %s"), *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(); + } } diff --git a/Source/ToonTanks/Projectile.h b/Source/ToonTanks/Projectile.h index 31e60fc..05788c8 100644 --- a/Source/ToonTanks/Projectile.h +++ b/Source/ToonTanks/Projectile.h @@ -30,6 +30,9 @@ private: UFUNCTION() void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit); + UPROPERTY(EditAnywhere); + float Damage = 50.f; + public: // Called every frame virtual void Tick(float DeltaTime) override;