24 lines
502 B
GDScript
24 lines
502 B
GDScript
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
|