extends State
class_name BeeTravelling

@export var target : Drone = null

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

var t = 0

func enter(_msg := {}):
	Log.pr("I am on the move!")
	## Get the next target location from the bee 
	if bee.just_gathering:
		target = bee.get_current_director() # We want to go back the way we came
		bee.just_gathering = false
	else:
		target = bee.get_next_target()

	bee.animation_player.play("Flying")
	
	pass
	
func update(delta : float) -> void:

	if target:
		if bee.position.distance_to(target.position) > 3:

			bee.velocity = (target.get_global_position() - bee.position).normalized() * bee.speed * delta
			bee.move_and_collide(bee.velocity)
			bee.look_at(target.position)

		else:
			# Bee has arrived at location, if its the hive or a collector drone do the things 
			if(target.name == "CollectorDrone"):
				state_transition.emit(self, "Gathering")
			else: 
				state_transition.emit(self, "Idle")
	
	pass
