17 lines
573 B
GDScript
17 lines
573 B
GDScript
extends State
|
|
|
|
var idle_target: Vector2 = Vector2.ZERO
|
|
|
|
|
|
func state_enter():
|
|
idle_target = Vector2(rand_range(0, get_viewport().size.x), rand_range(0, get_viewport().size.y))
|
|
|
|
|
|
func state_process(delta: float) -> void:
|
|
# move towards the idle_target until reached, then set a new target randomly on the screen
|
|
if character.position.distance_to(idle_target) < 10:
|
|
idle_target = Vector2(rand_range(0, get_viewport().size.x), rand_range(0, get_viewport().size.y))
|
|
else:
|
|
character.move_towards(idle_target, delta)
|
|
character.move_and_slide()
|