internal static ChartDataDto BuildChartData(ParsedEvtcLog log) { var chartData = new ChartDataDto(); var phaseChartData = new List <PhaseChartDataDto>(); List <PhaseData> phases = log.FightData.GetPhases(log); for (int i = 0; i < phases.Count; i++) { var phaseData = new PhaseChartDataDto() { Players = PlayerChartDataDto.BuildPlayersGraphData(log, i) }; foreach (NPC target in phases[i].Targets) { phaseData.Targets.Add(TargetChartDataDto.BuildTargetGraphData(log, i, target)); } if (i == 0) { phaseData.TargetsHealthStatesForCR = new List <List <object[]> >(); phaseData.TargetsBreakbarPercentStatesForCR = new List <List <object[]> >(); foreach (NPC target in log.FightData.Logic.Targets) { phaseData.TargetsHealthStatesForCR.Add(BuildHealthGraphStates(log, target, phases[0], false)); phaseData.TargetsBreakbarPercentStatesForCR.Add(BuildBreakbarPercentStates(log, target, phases[0])); } } phaseChartData.Add(phaseData); } chartData.Phases = phaseChartData; chartData.Mechanics = MechanicChartDataDto.BuildMechanicsChartData(log); return(chartData); }
public PhaseChartDataDto(ParsedEvtcLog log, PhaseData phase, bool addCRData) { Players = PlayerChartDataDto.BuildPlayersGraphData(log, phase); foreach (AbstractSingleActor target in phase.Targets) { Targets.Add(new TargetChartDataDto(log, phase, target)); } if (addCRData) { TargetsHealthStatesForCR = new List <List <object[]> >(); TargetsBreakbarPercentStatesForCR = new List <List <object[]> >(); TargetsBarrierStatesForCR = new List <List <object[]> >(); foreach (AbstractSingleActor target in log.FightData.Logic.Targets) { TargetsHealthStatesForCR.Add(ChartDataDto.BuildHealthStates(log, target, phase, false)); TargetsBreakbarPercentStatesForCR.Add(ChartDataDto.BuildBreakbarPercentStates(log, target, phase)); TargetsBarrierStatesForCR.Add(ChartDataDto.BuildBarrierStates(log, target, phase)); } } }