public void AddQuestTask(BioQuestTask questTask) { if (Quests == null || SelectedQuest.Value == null) { return; } if (SelectedQuest.Value.Tasks == null) { SelectedQuest.Value.Tasks = InitCollection <BioQuestTask>(); } if (questTask == null) { questTask = new BioQuestTask(); } questTask.PlotItemIndices = questTask.PlotItemIndices != null ? InitCollection(questTask.PlotItemIndices) : InitCollection <int>(); SelectedQuest.Value.Tasks.Add(questTask); SelectedQuestTask = questTask; }
public void RemoveQuestTask() { if (Quests == null || SelectedQuest.Value == null || SelectedQuest.Value.Tasks == null || SelectedQuestTask == null) { return; } var index = SelectedQuest.Value.Tasks.IndexOf(SelectedQuestTask); if (!SelectedQuest.Value.Tasks.Remove(SelectedQuestTask)) { return; } if (SelectedQuest.Value.Goals.Any()) { SelectedQuestTask = ((index - 1) >= 0) ? SelectedQuest.Value.Tasks[index - 1] : SelectedQuest.Value.Tasks.First(); } }