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