Beispiel #1
0
        // 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);
        }