filesystem rework
This commit is contained in:
parent
64323290cc
commit
2905db3dce
174 changed files with 93 additions and 353 deletions
|
|
@ -1,78 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
namespace Newlon.Components.Zombies;
|
||||
|
||||
public partial class RuntimeZombieData : Entity
|
||||
{
|
||||
[Export]
|
||||
private Armor _armor;
|
||||
[Signal] public delegate void HasBeenKilledEventHandler(RuntimeZombieData who);
|
||||
[Signal] public delegate void HPChangedMixedEventHandler(float delta);
|
||||
public bool AbleToEat = true;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
base._Ready();
|
||||
|
||||
OnHPChanged += HPChangedMixedInvokerSource;
|
||||
LocalTimescale -= (float)GD.Randf() / 100.0f;
|
||||
}
|
||||
|
||||
public override void Heal(float amount, Node origin)
|
||||
{
|
||||
if (_armor != null)
|
||||
{
|
||||
HP += _armor.Heal(amount);
|
||||
}
|
||||
else
|
||||
HP += amount;
|
||||
EmitSignal(SignalName.OnHPChanged, amount, origin);
|
||||
|
||||
if (HP > MaxHP)
|
||||
{
|
||||
HP = MaxHP;
|
||||
}
|
||||
}
|
||||
public override void TakeDamage(float amount, Node origin)
|
||||
{
|
||||
if (_armor != null)
|
||||
{
|
||||
HP -= _armor.RecieveDamage(amount);
|
||||
}
|
||||
else
|
||||
HP -= amount;
|
||||
EmitSignal(SignalName.OnHPChanged, -amount, origin);
|
||||
EmitSignal(SignalName.OnDamaged);
|
||||
|
||||
if (HP <= 0)
|
||||
{
|
||||
KillByDamage();
|
||||
}
|
||||
}
|
||||
public void HPChangedMixedInvokerSource(float delta, Node source)
|
||||
{
|
||||
EmitSignal(SignalName.HPChangedMixed, delta);
|
||||
}
|
||||
public void HPChangedMixedInvoker(float delta)
|
||||
{
|
||||
EmitSignal(SignalName.HPChangedMixed, -delta);
|
||||
}
|
||||
public float GetMaxHPMixed()
|
||||
{
|
||||
if (_armor != null)
|
||||
return MaxHP + _armor.MaxHP;
|
||||
return MaxHP;
|
||||
}
|
||||
#region Death sequence
|
||||
private bool _killed = false;
|
||||
public override void KillByDamage()
|
||||
{
|
||||
if (_killed) return;
|
||||
_killed = true;
|
||||
AbleToEat = false;
|
||||
EmitSignal(SignalName.HasBeenKilled,this);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue