private BuffChartDataDto(BuffsGraphModel bgm, List <Segment> bChart, PhaseData phase) { Id = bgm.Buff.ID; Visible = (bgm.Buff.Name == "Might" || bgm.Buff.Name == "Quickness" || bgm.Buff.Name == "Vulnerability"); Color = HTMLBuilder.GetLink("Color-" + bgm.Buff.Name); States = Segment.ToObjectList(bChart, phase.Start, phase.End); }
public static List <int[]> GetBuffStates(BuffsGraphModel bgm) { if (bgm == null || bgm.BuffChart.Count == 0) { return(null); } var res = bgm.BuffChart.Select(x => new int[2] { (int)x.Start, (int)x.Value }).ToList(); return(res.Count > 0 ? res : null); }
private static BuffChartDataDto BuildBuffGraph(BuffsGraphModel bgm, PhaseData phase, Dictionary <long, Buff> usedBuffs) { var bChart = bgm.BuffChart.Where(x => x.End >= phase.Start && x.Start <= phase.End ).ToList(); if (bChart.Count == 0 || (bChart.Count == 1 && bChart.First().Value == 0)) { return(null); } usedBuffs[bgm.Buff.ID] = bgm.Buff; return(new BuffChartDataDto(bgm, bChart, phase)); }
public BuffChartDataDto(BuffsGraphModel bgm, List <BuffSegment> bChart, PhaseData phase) { Id = bgm.Buff.ID; Visible = (bgm.Buff.Name == "Might" || bgm.Buff.Name == "Quickness" || bgm.Buff.Name == "Vulnerability"); Color = GeneralHelper.GetLink("Color-" + bgm.Buff.Name); States = new List <object[]>(bChart.Count + 1); foreach (BuffSegment seg in bChart) { double segStart = Math.Round(Math.Max(seg.Start - phase.Start, 0) / 1000.0, GeneralHelper.TimeDigit); States.Add(new object[] { segStart, seg.Value }); } BuffSegment lastSeg = bChart.Last(); double segEnd = Math.Round(Math.Min(lastSeg.End - phase.Start, phase.End - phase.Start) / 1000.0, GeneralHelper.TimeDigit); States.Add(new object[] { segEnd, lastSeg.Value }); }