using System; using System.Collections.Generic; using WingsEmu.DTOs.Quests; using WingsEmu.Packets.Enums; namespace WingsEmu.Game.Quests; public interface IQuestContainer { public bool HasQuestWithQuestType(QuestType questType); public bool HasQuestWithId(int questId); public bool HasCompletedScriptByIndex(int scriptId, int scriptIndex); public bool HasCompletedQuest(int questId); public IEnumerable GetCurrentQuests(); public IEnumerable GetCompletedQuests(); public IEnumerable GetCompletedPeriodicQuests(); public IEnumerable GetCurrentQuestsByType(QuestType questType); public IEnumerable GetCurrentQuestsByTypes(IReadOnlyCollection questTypes); public IEnumerable GetQuestsProgress(); public CharacterQuest GetCurrentQuest(int questId); public void AddActiveQuest(CharacterQuest quest); public void RemoveActiveQuest(int questId); public void AddCompletedQuest(CharacterQuest quest); public void RemoveCompletedQuest(int questId); public void RemoveCompletedScript(int scriptId, int scriptIndex); public void RemoveAllCompletedScripts(); public void AddCompletedPeriodicQuest(CharacterQuest quest); public void ClearCompletedPeriodicQuests(); public IEnumerable GetCompletedScripts(); public IEnumerable GetCompletedScriptsByType(TutorialActionType scriptType); public void SaveScript(int scriptId, int scriptIndex, TutorialActionType scriptType, DateTime savingDate); public CompletedScriptsDto GetLastCompletedScript(); public CompletedScriptsDto GetLastCompletedScriptByType(TutorialActionType scriptType); public void IncreasePendingSoundFlowerQuests(); public void DecreasePendingSoundFlowerQuests(); public int GetPendingSoundFlowerQuests(); }