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;
}
}

View File

@@ -0,0 +1,12 @@
using Godot;
using System;
using Movementtests.interfaces;
[GlobalClass]
public partial class RDeathEffect : Resource, IKillable
{
public void Kill()
{
GD.Print("Death Effect triggered");
}
}

View File

@@ -0,0 +1 @@
uid://b4cwruitopcee

View File

@@ -0,0 +1,20 @@
using Godot;
using System;
using Movementtests.interfaces;
[GlobalClass]
public partial class RHealth : Resource
{
[Export]
public float StartingHealth = 100.0f;
public RHealth()
{
StartingHealth = 100.0f;
}
public RHealth(float startingHealth)
{
StartingHealth = startingHealth;
}
}

View File

@@ -0,0 +1 @@
uid://baiapod3csndf