25 lines
672 B
GDScript
25 lines
672 B
GDScript
class_name QuestBoardEntry extends Button
|
|
|
|
|
|
const quest_window_template = preload("res://quest_window.tscn")
|
|
var quest : Quest = null
|
|
@onready var tex_icon : TextureRect = %Icon
|
|
@onready var name_label : Label = %NameLabel
|
|
@onready var status_label : Label = %StatusLabel
|
|
|
|
func setup(quest : Quest) -> void:
|
|
self.quest = quest
|
|
name_label.text = quest.name
|
|
status_label.text = "Available" if !quest.taken else "Unavailable"
|
|
|
|
func update() -> void:
|
|
status_label.text = "Available" if !quest.taken else "Unavailable"
|
|
|
|
|
|
func _on_pressed() -> void:
|
|
var window = quest_window_template.instantiate()
|
|
window.setup(quest, true)
|
|
add_child(window)
|
|
window.popup_centered()
|
|
|