public static Quest LoadQuestFromData(QuestData data) { if (data == null) { return(null); } string questName = data.name; Quest returnQuest; if (questName == Constants.SELLING_QUEST) { returnQuest = new SellingQuest(); } else if (questName == Constants.BEATDOWN_QUEST) { returnQuest = new BeatdownQuest(); } else { throw new InvalidQuestNameException(); } returnQuest.LoadFromData(data); returnQuest.name = questName; return(returnQuest); }
public Quest GetRandomQuest(NPC npc) { Quest quest; int i = Random.Range(0, 2); if (i == 0) { quest = new SellingQuest(npc); } else { if (NPCSpawner.instance.NumNpcs() > BeatdownQuest.TARGETS_PER_STAGE + BeatdownQuest.takenNpcNames.Count) { quest = new BeatdownQuest(npc); } else { return(null); } } return(quest); }