Files
pomchronicles/quest_window.gd

37 lines
854 B
GDScript

extends Window
var quest : Quest
func setup(qst : Quest, board : bool) -> void:
quest = qst
quest.status_changed.connect(_on_quest_status_changed)
%NameField.text = quest.name
%DifficultyField.text = quest.difficulty_name()
%LocationField.text = quest.location
if !board:
%AcceptButton.hide()
if quest.taken:
%StatusField.text = "Taken"
%AcceptButton.disabled = true
else:
%StatusField.text = "OPEN"
%AcceptButton.disabled = false
func _on_quest_status_changed(status : Quest.Status) -> void:
if status == Quest.Status.COMPLETED:
queue_free()
if quest.taken:
%StatusField.text = "Taken"
%AcceptButton.disabled = true
else:
%StatusField.text = "OPEN"
%AcceptButton.disabled = false
func _on_accept_pressed() -> void:
Guild.assign_quest(Game.player.data, quest)
func _on_close_button_pressed() -> void:
queue_free()