39 lines
1.0 KiB
C#
39 lines
1.0 KiB
C#
using EDPlayerJournal;
|
|
using EDPlayerJournal.BGS;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace EliteBGS.LogGenerator;
|
|
|
|
public class KillBondsFormat : GenericFormat<FactionKillBonds> {
|
|
public override string GenerateSummary(Objective objective) {
|
|
StringBuilder builder = new StringBuilder();
|
|
|
|
var bonds = objective
|
|
.EnabledOfType<FactionKillBonds>()
|
|
.GroupBy(x => x.VictimFaction)
|
|
.ToDictionary(x => x.Key, x => x.ToList())
|
|
;
|
|
|
|
if (bonds.Count <= 0) {
|
|
return "";
|
|
}
|
|
|
|
builder.Append("Killbonds: ");
|
|
foreach (var entry in bonds) {
|
|
long sum = (long)entry.Value.Sum(x => (decimal)x.TotalSum);
|
|
builder.AppendFormat("{0} against {1}, ",
|
|
Credits.FormatMillions(sum),
|
|
entry.Key
|
|
);
|
|
}
|
|
|
|
if (builder.Length > 2) {
|
|
// Remove trailing comma
|
|
builder.Remove(builder.Length - 2, 2);
|
|
}
|
|
|
|
return builder.ToString();
|
|
}
|
|
}
|