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_towards.gd

39 lines
722 B
GDScript3
Raw Normal View History

extends Move
class_name MoveTowards
## A [Move] that moves towards the [field position] of a [field target].
2024-04-17 03:26:13 +00:00
signal changed_target(new: Node2D)
2024-04-17 03:29:45 +00:00
@export var speed: float = 100.0
@export var target: Node2D = null:
get:
return target
set(value):
2024-04-17 03:26:13 +00:00
target = value
changed_target.emit(value)
2024-04-16 00:47:31 +00:00
func set_target(value: Node2D) -> void:
target = value
func clear_target() -> void:
target = null
2024-04-17 03:29:45 +00:00
func _physics_process(delta: float) -> void:
if enabled:
if target:
var gap = target.global_position - global_position
var norm = gap.normalized()
2024-04-17 03:29:45 +00:00
move.emit(norm * delta * speed)
else:
move.emit(Vector2.ZERO)
2024-04-17 03:26:13 +00:00
func _on_changed_target(new: Node2D) -> void:
Log.p(self, "Changed target to: %s" % new)