using EDPlayerJournal; using EDPlayerJournal.BGS; using System.Linq; using System.Text; namespace EliteBGS.LogGenerator; class CombatZoneFormat : LogFormatter { public string GenerateLog(Objective objective) { var logs = objective .EnabledOfType() .GroupBy(x => new { x.Type, x.Grade }) .ToDictionary(x => x.Key, x => x.ToList()) ; StringBuilder builder = new StringBuilder(); if (logs == null || logs.Count() <= 0) { return ""; } foreach (var log in logs) { int optionals = log.Value .Sum(x => x.OptionalObjectivesCompleted) ; builder.AppendFormat("Won {0}x {1} {2} Combat Zone(s)", log.Value.Count, log.Key.Grade, log.Key.Type ); if (optionals > 0) { builder.AppendFormat(" (with {0} optional objectives)", optionals); } builder.Append("\n"); } return builder.ToString().Trim(); } }