broken composition and signals
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
12
resource_definitions/RDeathEffect.cs
Normal file
12
resource_definitions/RDeathEffect.cs
Normal 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");
|
||||
}
|
||||
}
|
||||
1
resource_definitions/RDeathEffect.cs.uid
Normal file
1
resource_definitions/RDeathEffect.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://b4cwruitopcee
|
||||
20
resource_definitions/RHealth.cs
Normal file
20
resource_definitions/RHealth.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
1
resource_definitions/RHealth.cs.uid
Normal file
1
resource_definitions/RHealth.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://baiapod3csndf
|
||||
Reference in New Issue
Block a user