Vast improvements and a working finite state machine, working on new guild member registration.
This commit is contained in:
23
guild_queue.gd
Normal file
23
guild_queue.gd
Normal file
@@ -0,0 +1,23 @@
|
||||
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
|
||||
Reference in New Issue
Block a user