1
Fork 0
mirror of https://github.com/Steffo99/hella-farm.git synced 2024-11-22 08:04:23 +00:00
hella-farm/behaviours/move_straight.gd

35 lines
702 B
GDScript

extends Move
class_name MoveStraight
## A [Move] that moves in a fixed direction.
signal changed_direction(new: Vector2)
@export var speed: float = 100.0
@export var direction: Vector2:
get:
return direction
set(value):
direction = value
changed_direction.emit(direction)
func set_direction(value: Vector2) -> void:
direction = value
func clear_direction() -> void:
direction = Vector2.ZERO
func randomize_direction() -> void:
direction = Vector2.from_angle(Random.rng.randf_range(0, 2*PI))
func log_state() -> void:
Log.p(self, "Direction: %s | Speed: %s" % [direction, speed])
func _physics_process(delta: float) -> void:
if enabled:
move.emit(direction * delta * speed)