Beispiel #1
0
        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;
        }
Beispiel #2
0
        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();
            }
        }