GuildTycoon/Assets/_/Features/Quests/Runtime/QuestInitializer.cs
2025-09-06 23:56:47 +02:00

39 lines
1.2 KiB
C#

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<List<QuestClass>>("active_quests", out var _))
{
SetFact<List<QuestClass>>("active_quests", new List<QuestClass>(), FactPersistence.Persistent);
}
QuestManager.Instance.ActiveQuests = GetFact<List<QuestClass>>("active_quests");
if (!FactExists<List<QuestClass>>("active_quests", out var _))
{
SetFact<List<QuestClass>>("completed_quests", new List<QuestClass>(), FactPersistence.Persistent);
}
QuestManager.Instance.CompletedQuests = GetFact<List<QuestClass>>("completed_quests");
Invoke(nameof(NotifyLater), 0.1f);
}
void NotifyLater()
{
QuestManager.Instance.NotifyCompletedQuests();
}
[SerializeField] QuestFactoryDatabase _questFactoryDatabase;
}
}