25 lines
574 B
GDScript
25 lines
574 B
GDScript
class_name QuestBoardWindow extends Window
|
|
|
|
const entry_template = preload("res://quest_log_entry.tscn")
|
|
|
|
@onready var entry_list : VBoxContainer = %Entries
|
|
var entries : Array[QuestLogEntry] = []
|
|
|
|
func populate(quests : Array[Quest]) -> void:
|
|
for entry in entries:
|
|
entry.queue_free()
|
|
entries.clear()
|
|
for quest in quests:
|
|
if !quest.taken:
|
|
add_entry(quest)
|
|
|
|
func add_entry(quest : Quest) -> void:
|
|
var qle : QuestLogEntry = entry_template.instantiate()
|
|
entries.append(qle)
|
|
entry_list.add_child(qle)
|
|
qle.setup(quest)
|
|
|
|
|
|
func _on_close_requested() -> void:
|
|
hide()
|