public void CancelQuest([NotNull] IQuest quest)
 {
     if (quest == null) throw new ArgumentNullException(nameof(quest));
     var idx = CurrentQuests.FindIndex(q => q == quest);
     if (idx < 0) return;
     quest.Deactivate();
     SaveDataManager.instance.SaveData.currentQuests.Remove(quest);
     SaveDataManager.instance.ApplyToFile();
     OnQuestCanceled(quest);
 }