Consistent SYSTEMS

This commit is contained in:
2025-05-25 14:37:30 -05:00
parent 48f3e57a44
commit 470fd62e2f
34 changed files with 65 additions and 106 deletions

View File

@@ -0,0 +1,27 @@
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 playerInventoryUpdated()
# 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)