Files
Dawn-Godot/scripts/Singleton/Quest.gd
2025-05-09 22:33:51 -05:00

27 lines
668 B
GDScript

class_name QuestSystem extends Node
enum QuestKey {
TEST_QUEST
};
var quests:Dictionary[int, Quest]
signal questStarted(quest:Quest)
signal questUpdated(quest:Quest)
signal questCompleted(quest:Quest)
# signal questObjectiveCompleted(quest:Quest, objective:QuestObjective)
func _ready() -> void:
_updateQuests()
func _updateQuests() -> void:
quests = {}
for quest in $Quests.get_children():
if quest is Quest:
if quests.has(quest.questKey):
assert(false, "Quest with key %s already exists" % quest.questKey)
quests[quest.questKey] = quest
for quest in QuestKey:
assert(quests.has(QuestKey[quest]), "Quest with key %s does not exist" % quest)