/// <summary> /// 获取符文所有技能 /// </summary> public ParsedSkillData[] RuneData_GetAllSkills(ParsedRuneData rune) { if (!RuneData_AllSkills.ContainsKey(rune)) { RuneData_InitSkillRelationLists(); } return(RuneData_AllSkills[rune]); }
/// <summary> /// 获取奖励符文的地图 /// </summary> public KeyValuePair <ParsedMapStageData, int>[] RuneData_GetRewardInMapStage(ParsedRuneData rune) { if (!RuneData_RewardInMapStage.ContainsKey(rune)) { CardData_RuneData_SkillData_InitMapStageRelationLists(); } return(RuneData_RewardInMapStage[rune]); }
/// <summary> /// 获取符文出现的关卡 /// </summary> public KeyValuePair <ParsedMapStageDetailLevelData, int>[] RuneData_GetShowInMapStageLevel(ParsedRuneData rune) { if (!RuneData_ShowInMapStageLevel.ContainsKey(rune)) { CardData_RuneData_SkillData_InitMapStageRelationLists(); } return(RuneData_ShowInMapStageLevel[rune]); }
public IActionResult Detail(string id) { try { var dbContext = new MkhxCoreContext(); var dm = GameDataManager.Get(Request); var runeList = dm.RuneList; ParsedRuneData rune = runeList.FirstOrDefault(m => m.RuneId + "" == id || m.RuneName == id); if (rune == null) { return(new NotFoundResult()); } else { if (!int.TryParse(id, out int RuneId)) // 如果使用了名称选取,则跳转为编号选取,避免Edge浏览器Header编码问题 { return(new RedirectResult($"/runedata/{rune.RuneId}", false)); } { var ShowInMapStageLevel = dm.RuneData_GetShowInMapStageLevel(rune); ViewData["ShowInMapStageLevel"] = ShowInMapStageLevel; } { var RewardInMapStage = dm.RuneData_GetRewardInMapStage(rune); var list = new List <KeyValuePair <ParsedMapStageData, int> >(); list.AddRange(RewardInMapStage); ViewData["RewardInMapStage"] = list.Distinct().ToArray(); } { var RewardInMapStageLevel = dm.RuneData_GetRewardInMapStageLevel(rune); var list = new List <KeyValuePair <ParsedMapStageDetailLevelData, int> >(); list.AddRange(RewardInMapStageLevel); ViewData["RewardInMapStageLevel"] = list.Distinct().ToArray(); } { var vr = Request.Cookies["vr"] ?? ""; if (!vr.Contains((char)(rune.RuneId + 1024))) { Response.Cookies.Append("vr", vr + ((char)(rune.RuneId + 1024))); dbContext.PvCounter.Add(new PvCounter { Id = Guid.NewGuid(), Time = DateTime.Now, Ip = Request.HttpContext.Connection.RemoteIpAddress.ToString(), Ua = Request.Headers["User-Agent"], Type = "rune", Name = rune.RuneName, }); var timeDelete = DateTime.Now.AddDays(-7); dbContext.PvCounter.RemoveRange(dbContext.PvCounter.Where(m => m.Time < timeDelete)); dbContext.SaveChanges(); } } return(View(rune)); } } catch (NeedVersionSelectedException) { return(View("Blank")); } }