Le quêtes sont désormais bien retirés quand choisis.

This commit is contained in:
mrtoine 2025-10-11 15:25:12 +02:00
parent 9f2e4c1063
commit 838f91ede7
7 changed files with 107 additions and 24 deletions

View file

@ -168,17 +168,31 @@ namespace Quests.Runtime
public void InitializeEvents(QuestEventPackSO pack)
{
ActiveEvents.Clear();
if (pack == null || pack.availableEvents == null || pack.availableEvents.Count == 0)
{
return;
}
var pool = new List<QuestEventSO>(pack.availableEvents);
int toPick = Mathf.Min(pack.maxEventsToPick, pool.Count);
int currentTime = 0;
if (QuestManager.Instance != null)
{
currentTime = QuestManager.Instance.currentTimeInQuest;
}
for (int i = 0; i < toPick; i++)
{
int index = UnityEngine.Random.Range(0, pool.Count);
var pickedSO = pool[index];
pool.RemoveAt(index);
ActiveEvents.Add(pickedSO.ToQuestEventClass(QuestManager.Instance.currentTimeInQuest));
if (pickedSO != null)
{
ActiveEvents.Add(pickedSO.ToQuestEventClass(currentTime));
}
}
}