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); }
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; } }