// helpers public static EXTHealingStatsPlayerDetailsDto BuildPlayerHealingData(ParsedEvtcLog log, AbstractSingleActor actor, Dictionary<long, SkillItem> usedSkills, Dictionary<long, Buff> usedBuffs) { var dto = new EXTHealingStatsPlayerDetailsDto { HealingDistributions = new List<EXTHealingStatsHealingDistributionDto>(), HealingDistributionsTargets = new List<List<EXTHealingStatsHealingDistributionDto>>(), IncomingHealingDistributions = new List<EXTHealingStatsHealingDistributionDto>(), Minions = new List<EXTHealingStatsPlayerDetailsDto>(), }; foreach (PhaseData phase in log.FightData.GetPhases(log)) { dto.HealingDistributions.Add(EXTHealingStatsHealingDistributionDto.BuildFriendlyHealingDistData(log, actor, null, phase, usedSkills, usedBuffs)); var dmgTargetsDto = new List<EXTHealingStatsHealingDistributionDto>(); foreach (AbstractSingleActor target in log.Friendlies) { dmgTargetsDto.Add(EXTHealingStatsHealingDistributionDto.BuildFriendlyHealingDistData(log, actor, target, phase, usedSkills, usedBuffs)); } dto.HealingDistributionsTargets.Add(dmgTargetsDto); dto.IncomingHealingDistributions.Add(EXTHealingStatsHealingDistributionDto.BuildIncomingHealingDistData(log, actor, phase, usedSkills, usedBuffs)); } foreach (KeyValuePair<long, Minions> pair in actor.GetMinions(log)) { dto.Minions.Add(BuildFriendlyMinionsHealingData(log, actor, pair.Value, usedSkills, usedBuffs)); } return dto; }
public HealingStatsExtension(ParsedEvtcLog log, Dictionary <long, SkillItem> usedSkills, Dictionary <long, Buff> usedBuffs) { HealingPhases = new List <EXTHealingStatsPhaseDto>(); PlayerHealingCharts = new List <List <EXTHealingStatsPlayerChartDto> >(); PlayerHealingDetails = new List <EXTHealingStatsPlayerDetailsDto>(); foreach (PhaseData phase in log.FightData.GetPhases(log)) { HealingPhases.Add(new EXTHealingStatsPhaseDto(phase, log)); PlayerHealingCharts.Add(EXTHealingStatsPlayerChartDto.BuildPlayersHealingGraphData(log, phase)); } foreach (AbstractSingleActor actor in log.Friendlies) { PlayerHealingDetails.Add(EXTHealingStatsPlayerDetailsDto.BuildPlayerHealingData(log, actor, usedSkills, usedBuffs)); } }
private static EXTHealingStatsPlayerDetailsDto BuildFriendlyMinionsHealingData(ParsedEvtcLog log, AbstractSingleActor actor, Minions minion, Dictionary<long, SkillItem> usedSkills, Dictionary<long, Buff> usedBuffs) { var dto = new EXTHealingStatsPlayerDetailsDto { HealingDistributions = new List<EXTHealingStatsHealingDistributionDto>(), HealingDistributionsTargets = new List<List<EXTHealingStatsHealingDistributionDto>>() }; foreach (PhaseData phase in log.FightData.GetPhases(log)) { var dmgTargetsDto = new List<EXTHealingStatsHealingDistributionDto>(); foreach (AbstractSingleActor target in log.Friendlies) { dmgTargetsDto.Add(EXTHealingStatsHealingDistributionDto.BuildFriendlyMinionHealingDistData(log, actor, minion, target, phase, usedSkills, usedBuffs)); } dto.HealingDistributionsTargets.Add(dmgTargetsDto); dto.HealingDistributions.Add(EXTHealingStatsHealingDistributionDto.BuildFriendlyMinionHealingDistData(log, actor, minion, null, phase, usedSkills, usedBuffs)); } return dto; }