public IActionResult GetNPC(int npcId) { NPC npcInfo = NPCFactory.GetNPC(npcId); npcInfo.RelatedQuestsInfo = npcInfo.RelatedQuests?.Select(c => QuestFactory.GetQuest(c)).Where(c => c != null).Select(c => new QuestName() { id = c.Id, name = c.Name }).ToArray(); return(Json(npcInfo)); }
public IActionResult GetQuest(int questId) { var quest = QuestFactory.GetQuest(questId); if (quest.RequirementToStart.NPCId.HasValue) { quest.RequirementToStart.NPCInfo = NPCFactory.GetNPC(quest.RequirementToStart.NPCId.Value); } if (quest.RequirementToComplete.NPCId.HasValue) { quest.RequirementToComplete.NPCInfo = NPCFactory.GetNPC(quest.RequirementToComplete.NPCId.Value); } if (quest == null) { return(NotFound()); } return(Json(quest)); }