extends State
class_name SnailEating

@onready var snail : Snail = get_parent().get_parent() as Snail # I think this is bad but I dont care it works

var eat_interval : float = 3.0
var eat_timer : float = 0.0

var move_to : Vector2 = Vector2.ZERO

var original_snail_scale : float = 0.1

func enter(_msg : Dictionary = {}) -> void:
	Log.pr("I am a snail and I will eat!")
	snail.eating = true

func exit() -> void: 
	snail.eating = false
	snail.sprite.flip_h = false
	
func update(delta : float) -> void:
	eat_timer += delta

	if eat_timer >= eat_interval:
		snail.eat()
		eat_timer = 0.0

func physics_update(_delta : float) -> void:

	if move_to == Vector2.ZERO:
		move_to = snail.get_random_target()

	if snail.global_position.distance_to(move_to) > 3:

		snail.velocity = snail.global_position.direction_to(move_to) * snail.speed

		if move_to.x > snail.global_position.x:
			snail.sprite.scale.x = original_snail_scale
		else:
			snail.sprite.scale.x = -original_snail_scale

		snail.move_and_slide()
	else: 
		move_to = Vector2.ZERO
		


