broken composition and signals

This commit is contained in:
2026-01-17 17:02:31 +01:00
parent 0436053c62
commit 4ccdbc0ee6
22 changed files with 302 additions and 36 deletions

View File

@@ -6,8 +6,7 @@ using Movementtests.systems.damage;
[GlobalClass]
public partial class RDamageModifier : Resource, IDamageable
{
[Signal]
delegate void DamageTakenEventHandler(float damage);
public event Action<float> DamageTaken;
[Export]
public EDamageTypes DamageType = EDamageTypes.Normal;
@@ -24,14 +23,13 @@ public partial class RDamageModifier : Resource, IDamageable
Modifier = modifier;
DamageType = damageType;
}
public void TakeDamage(RDamage damage)
public float TakeDamage(RDamage damage)
{
if (damage.DamageType != DamageType) return;
if (damage.DamageType != DamageType) return 0;
var finalDamage = damage.DamageDealt * Modifier;
var message = $"Damage of type {DamageType} taken: {finalDamage}";
GD.Print(message);
EmitSignalDamageTaken(finalDamage);
DamageTaken?.Invoke(finalDamage);
return finalDamage;
}
}