From 469451e49186248bebe0d28fbc78f7fec7a9502c Mon Sep 17 00:00:00 2001 From: NisemonoQ Date: Tue, 4 Nov 2025 23:34:15 +0100 Subject: [PATCH] Minor - Mushroom/Projectile interaction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ok, le reste de la fonction ne marchait pas à cause d'un BlockAll qui s'était infiltré dans le code du Mushroom Je vais passer à l'interaction avec le centipede --- Source/M4_CPP/private/M4_Mushroom.cpp | 13 ++++++++----- Source/M4_CPP/private/M4_Projectile.cpp | 3 +-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Source/M4_CPP/private/M4_Mushroom.cpp b/Source/M4_CPP/private/M4_Mushroom.cpp index 3c2556c..a506517 100644 --- a/Source/M4_CPP/private/M4_Mushroom.cpp +++ b/Source/M4_CPP/private/M4_Mushroom.cpp @@ -33,7 +33,7 @@ AM4_Mushroom::AM4_Mushroom() GetStaticMeshComponent()->SetRelativeScale3D(FVector(1.f, 0.45f, 0.20f)); // Set collision profile to block all - GetStaticMeshComponent()->SetCollisionProfileName(TEXT("BlockAll")); + GetStaticMeshComponent()->SetCollisionProfileName(TEXT("OverlapAll")); } @@ -46,12 +46,15 @@ void AM4_Mushroom::BeginPlay() void AM4_Mushroom::OnHit(UPrimitiveComponent* HitComp,AActor* OtherActor,UPrimitiveComponent* OtherComp,FVector NormalImpulse,const FHitResult& Hit) { - // check if the other actor is a projectile + AM4_Projectile* Projectile = Cast(OtherActor); if (!Projectile) - return; + { + return; + } if (DestructionHit++ == MushLife) - Destroy(); - + { + Destroy(); + } } \ No newline at end of file diff --git a/Source/M4_CPP/private/M4_Projectile.cpp b/Source/M4_CPP/private/M4_Projectile.cpp index 5b1ced5..586bae8 100644 --- a/Source/M4_CPP/private/M4_Projectile.cpp +++ b/Source/M4_CPP/private/M4_Projectile.cpp @@ -35,7 +35,7 @@ AM4_Projectile::AM4_Projectile() } ProjectileMeshComponent->SetMaterial(0, ProjectileMat); - ProjectileMeshComponent->SetRelativeScale3D(FVector(.8f, .3f, .35f)); + ProjectileMeshComponent->SetRelativeScale3D(FVector(.3f, .3f, .35f)); ProjectileMeshComponent->SetMobility(EComponentMobility::Movable); ProjectileMeshComponent->SetRelativeLocation(FVector::ZeroVector); @@ -82,7 +82,6 @@ void AM4_Projectile::FireInDir(const FVector& ShootDir) { SetActorLocation(InitialLoc); ProjectileMovementComponent->Velocity.Z = -1 * ((ShootDir.Z + 380.f) * ProjectileMovementComponent->InitialSpeed); - // ProjectileMovementComponent->Velocity.Y = InitialLoc.Y; ProjectileMovementComponent->Velocity.X = 0.f; }