public void startNewQuest(string missionName) { if (!offloadingMissions.ContainsKey(missionName)) { return; } var mission = SaveHandler.instance.GetSave().missions.Find(m => m.name == missionName); if (mission.prerequisites != null && SaveHandler.instance.GetSave().missions.Exists(m => mission.prerequisites.Contains(m.name) && m.status != Mission.MissionStatus.Complete)) { return; } var path = offloadingMissions[missionName]; offloadingMissions.Remove(missionName); var XMLImport = new XMLImportExport(); var canvas = XMLImport.Import(path) as QuestCanvas; if (canvas != null) { var traverser = new MissionTraverser(canvas); if (traverser != null) { traversers.Add(traverser); var start = traverser.findRoot(); if (start != null) { start.TryAddMission(); } traverser.StartQuest(); } } }
public void RemoveTraverser(MissionTraverser traverser) { traversers.Remove(traverser); }