minijam-166/scripts/wanderer.gd

23 lines
666 B
GDScript

class_name Wanderer
extends Node
const DIST_FROM_MOUSE := 1000.0
@onready var new_target: Timer = $NewTarget
@export var node_to_move: Node2D
@export var speed := 75
@export var move := false
@export var wait_time_min := 1.0
@export var wait_time_max := 2.0
var target_pos := Vector2()
func _process(delta: float) -> void:
if move:
node_to_move.position += node_to_move.position.direction_to(target_pos) * speed * delta
func _on_new_target_timeout() -> void:
target_pos = get_viewport().get_camera_2d().get_global_mouse_position() + (Vector2.RIGHT * DIST_FROM_MOUSE).rotated(randf_range(0, PI))
new_target.start(randf_range(wait_time_min, wait_time_max))