Changed zombie speed from int to floatmod, added hobo

This commit is contained in:
Rendo 2025-06-22 23:30:37 +05:00
commit ad8ecb875a
9 changed files with 310 additions and 158 deletions

View file

@ -4,30 +4,40 @@ namespace Newlon.Components.Zombies;
public partial class ZombieMover : Node
{
[Export(hintString: "suffix:tile/sec")]
private float _speedMultiplier = 1.0f;
private float _speed = 1;
[Export]
private FloatModifiers _speed;
private Node2D _zombie;
public override void _Ready()
{
_zombie = GetParent<Node2D>();
_speed = (FloatModifiers)_speed.Duplicate();
}
public override void _PhysicsProcess(double delta)
{
_zombie.Position -= _zombie.Transform.X
* _speed
* (float)delta
* Utility.TileWidth
* GetParent<RuntimeZombieData>().LocalTimescale
* _speedMultiplier;
_zombie.Position -= _zombie.Transform.X
* (float)delta
* Utility.TileWidth
* GetParent<RuntimeZombieData>().LocalTimescale
* _speed.GetValue();
GD.Print(_speed.GetMult());
}
public void SetSpeed(float speed)
public void SetSpeedFlat(float speed)
{
_speed = speed;
_speed.SetFlat(speed);
}
public void SetSpeedPercentage(float speed)
{
_speed.SetPercentage(speed);
}
public void SetSpeedMult(float speed)
{
_speed.SetMult(speed);
}
public void AddMult(float amount)
{
_speed.ChangeMult(amount);
}
}