newlon/scripts/components/zombies/ZombieMover.cs

33 lines
801 B
C#

using Godot;
namespace Newlon.Components.Zombies;
public partial class ZombieMover : Node
{
[Export(hintString: "suffix:tile/sec")]
private float _speedMultiplier = 1.0f;
private float _speed = 1;
private Node2D _zombie;
public override void _Ready()
{
_zombie = GetParent<Node2D>();
}
public override void _PhysicsProcess(double delta)
{
_zombie.Position -= _zombie.Transform.X
* _speed
* (float)delta
* Utility.TileWidth
* GetParent<RuntimeZombieData>().LocalTimescale
* _speedMultiplier;
}
public void SetSpeed(float speed)
{
_speed = speed;
}
}