using System.Collections.Generic; using Core.Runtime; using Quest.Runtime; using UnityEngine; namespace Quests.Runtime._.Features.Quests { public class QuestInitializer : BaseMonobehaviour { void Awake() { var _ = QuestManager.Instance; QuestManager.Instance.QuestDatabase = _questFactoryDatabase; } void Start() { if (!FactExists>("active_quests", out var _)) { SetFact>("active_quests", new List(), FactPersistence.Persistent); } QuestManager.Instance.ActiveQuests = GetFact>("active_quests"); if (!FactExists>("active_quests", out var _)) { SetFact>("completed_quests", new List(), FactPersistence.Persistent); } QuestManager.Instance.CompletedQuests = GetFact>("completed_quests"); Invoke(nameof(NotifyLater), 0.1f); } void NotifyLater() { QuestManager.Instance.NotifyCompletedQuests(); } [SerializeField] QuestFactoryDatabase _questFactoryDatabase; } }