Merge remote-tracking branch 'origin/master'

# Conflicts:
#	Content/Legumix/Ennemy/RangeEnemy/BP_DistantEnemy.uasset
This commit is contained in:
Emilie Schott 2025-03-14 16:01:56 +01:00
commit ec440f74f9
6 changed files with 20 additions and 10 deletions

Binary file not shown.

BIN
Content/Legumix/Player/BP_Play.uasset (Stored with Git LFS)

Binary file not shown.

View File

@ -58,7 +58,7 @@ void ULMHealthComponent::Kill()
void ULMHealthComponent::HitBoxHit(ULMHitBox* HitBox, const float Damage, const FVector& Origin, const FHitResult& HitInfo)
{
TakeDamage(Damage);
OnHit(Damage, Origin, HitInfo);
OnHit.Broadcast(Damage, Origin, HitInfo);
}

View File

@ -14,11 +14,15 @@ ULMHitBox::ULMHitBox()
void ULMHitBox::OnHit(const FLMBulletInfo& BulletInfo, const FHitResult& Hit)
{
const float Damage = BulletInfo.Damage;
const double Distance = FVector::Distance(BulletInfo.Origin, GetComponentLocation());
const float TotalDamage = CalculateDamage(Damage, Distance, BulletInfo.Falloff, BulletInfo.MaxDistance);
OnHitBoxHit.Broadcast(this, TotalDamage, BulletInfo.Origin, Hit);
const float TotalDamage = CalculateDamage(BulletInfo.Damage, Distance, BulletInfo.Falloff, BulletInfo.MaxDistance);
OnHitSimple(TotalDamage, BulletInfo.Origin, Hit);
}
void ULMHitBox::OnHitSimple(float const Damage, FVector const Origin, const FHitResult& Hit)
{
OnHitBoxHit.Broadcast(this, Damage, Origin, Hit);
}
bool ULMHitBox::CanBeHitByTeam(const ETeam Team) const

View File

@ -17,6 +17,7 @@ class LEGUMEMIX_API ULMHealthComponent : public UActorComponent
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnHealthChangedSignature, float, Health, float, Damage);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnDeathSignature);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnHitSignature, float, Damage, const FVector&, Origin, const FHitResult&, HitInfo);
public:
ULMHealthComponent();
@ -78,8 +79,8 @@ public:
* @param Origin The origin of the damage.
* @param HitInfo The collisions informations.
*/
UFUNCTION(BlueprintImplementableEvent, Category=Legumix, meta=(Keywords = "Refill"))
void OnHit(float Damage, const FVector& Origin, const FHitResult& HitInfo);
UPROPERTY(BlueprintCallable, BlueprintAssignable, Category=Legumix)
FOnHitSignature OnHit;
/**
* Completely refill the health of the component.

View File

@ -20,7 +20,12 @@ class LEGUMEMIX_API ULMHitBox : public UCapsuleComponent
public:
ULMHitBox();
UFUNCTION(BlueprintCallable, Category=Legumix)
void OnHit(const FLMBulletInfo& BulletInfo, const FHitResult& Hit);
UFUNCTION(BlueprintCallable, Category=Legumix)
void OnHitSimple(float const Damage, FVector const Origin, const FHitResult& Hit);
void SetHealthComponent(ULMHealthComponent* NewHealthComponent) { HealthComponent = NewHealthComponent; }
bool CanBeHitByTeam(ETeam Team) const;