made some improvements on how the encounters trigger

This commit is contained in:
Sebastian Bularca
2026-05-22 13:47:44 +02:00
parent 8aea6f7eb3
commit dd049642b0
8 changed files with 174 additions and 58 deletions

View File

@@ -14,6 +14,7 @@ namespace Jovian.EncounterSystem {
public event Action<IEncounter> QuestStarted;
public event Action<IEncounter, IEncounter> QuestAdvanced;
public event Action<IEncounter> QuestCompleted;
public event Action<IEncounter> QuestAbandoned;
public IReadOnlyCollection<string> ResolvedIds => resolvedIds;
@@ -76,6 +77,19 @@ namespace Jovian.EncounterSystem {
}
}
public void OnEncounterAbandoned(IEncounter encounter) {
if(encounter?.EncounterDefinition.Kind is not QuestKind questKind) {
return;
}
var id = encounter.EncounterDefinition?.internalId;
if(string.IsNullOrEmpty(id) || !resolvedIds.Remove(id)) {
return;
}
QuestAbandoned?.Invoke(encounter);
}
public void LoadResolvedIds(IEnumerable<string> ids) {
resolvedIds.Clear();
if(ids == null) {