public void Load(List <Character_quest> quests) { if (quests == null) { return; } foreach (Character_quest quest in quests) { quest.Quest = QuestService.GetQuest(quest.QuestID); if (quest.Quest == null) { continue; } foreach (Character_Objectives obj in quest._Objectives) { obj.Objective = QuestService.GetQuestObjective(obj.ObjectiveID); } // If a quest objective has been deleted in the world db lets remove it from the player quest._Objectives = quest._Objectives.FindAll(o => o.Objective != null); if (!this.Quests.ContainsKey(quest.QuestID)) { this.Quests.Add(quest.QuestID, quest); } } }