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

@@ -29,6 +29,12 @@ public partial class PlayerController : CharacterBody3D, IDamageable, IKnockback
}
private BufferedActions _bufferedAction = BufferedActions.None;
///////////////////////////
// Signals and events //
///////////////////////////
public event Action<float> DamageTaken;
///////////////////////////
// Public stuff //
///////////////////////////
@@ -1729,10 +1735,13 @@ public partial class PlayerController : CharacterBody3D, IDamageable, IKnockback
}
}
public void TakeDamage(RDamage damage)
public float TakeDamage(RDamage damage)
{
float damageTaken = 0;
foreach (var damageable in DamageModifiers.ToIDamageables())
damageable.TakeDamage(damage);
damageTaken += damageable.TakeDamage(damage);
DamageTaken?.Invoke(damageTaken);
return damageTaken;
}
///////////////////////////
@@ -1746,7 +1755,6 @@ public partial class PlayerController : CharacterBody3D, IDamageable, IKnockback
}
if (!WeaponSystem.InHandState.Active) return;
var bodies = WeaponHitbox.GetOverlappingBodies();
foreach (var body in bodies)
{