class_name GuildQueue extends Node2D var length : int : get: return len(members) @export var direction : Vector2 = Vector2.ZERO var members : Array[Adventurer] = [] signal advanced() func add_member(member : Adventurer) -> void: members.append(member) #TODO: Instead retrieve the array length with a getter func try_advance() -> Adventurer: if length > 0: return advance() else: return null func advance() -> Adventurer: var member = members.pop_front() advanced.emit() return member