43 lines
1 KiB
C#
43 lines
1 KiB
C#
using Godot;
|
|
|
|
namespace Newlon.Components.Zombies;
|
|
|
|
public partial class ZombieMover : Node
|
|
{
|
|
[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
|
|
* (float)delta
|
|
* Utility.TileWidth
|
|
* GetParent<RuntimeZombieData>().LocalTimescale
|
|
* _speed.GetValue();
|
|
GD.Print(_speed.GetMult());
|
|
}
|
|
|
|
public void SetSpeedFlat(float 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);
|
|
}
|
|
}
|