示例#1
0
        private List <JsonTargetBuffs> BuildTargetBuffs(List <Dictionary <long, Statistics.FinalTargetBuffs> > statBoons, Target target)
        {
            int phases = _phases.Count;
            var boons  = new List <JsonTargetBuffs>();

            foreach (var pair in statBoons[0])
            {
                if (!_buffDesc.ContainsKey("b" + pair.Key))
                {
                    _buffDesc["b" + pair.Key] = new JsonLog.BuffDesc(Boon.BoonsByIds[pair.Key]);
                }
                List <JsonTargetBuffsData> data = new List <JsonTargetBuffsData>();
                for (int i = 0; i < _phases.Count; i++)
                {
                    JsonTargetBuffsData value = new JsonTargetBuffsData(statBoons[i][pair.Key]);
                    data.Add(value);
                }
                JsonTargetBuffs jsonBuffs = new JsonTargetBuffs()
                {
                    States   = BuildBuffStates(target.GetBoonGraphs(_log)[pair.Key]),
                    BuffData = data,
                    Id       = pair.Key
                };
                boons.Add(jsonBuffs);
            }

            return(boons);
        }
示例#2
0
        private void MakePhaseTargetBoon(JsonTargetBuffs boon, int phase, Statistics.FinalTargetBoon value)
        {
            boon.Uptime[phase]      = value.Uptime;
            boon.Presence[phase]    = value.Presence;
            boon.Generated[phase]   = boon.Generated[phase] ?? new Dictionary <string, double>();
            boon.Overstacked[phase] = boon.Overstacked[phase] ?? new Dictionary <string, double>();

            foreach (var playerBoon in value.Generated.Where(x => x.Value > 0))
            {
                boon.Generated[phase][playerBoon.Key.Character] = playerBoon.Value;
            }

            foreach (var playerBoon in value.Overstacked.Where(x => x.Value > 0))
            {
                boon.Overstacked[phase][playerBoon.Key.Character] = playerBoon.Value;
            }
        }