51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using EDPlayerJournal;
|
|
using EDPlayerJournal.BGS;
|
|
|
|
namespace EliteBGS.LogGenerator;
|
|
|
|
public class MeritsGainedFormat : LogFormatter {
|
|
public string GenerateLog(Objective objective) {
|
|
var builder = new StringBuilder();
|
|
|
|
var merits = objective
|
|
.EnabledOfType<MeritsGained>()
|
|
.GroupBy(x => x.Power)
|
|
.ToDictionary(x => x.Key, x => x.Sum(x => x.Merits))
|
|
;
|
|
|
|
if (merits == null || merits.Count == 0) {
|
|
return "";
|
|
}
|
|
|
|
foreach (var merit in merits) {
|
|
builder.AppendFormat("{0} merits gained for {1}\n", merit.Value, merit.Key);
|
|
}
|
|
|
|
return builder.ToString().Trim();
|
|
}
|
|
|
|
public string GenerateSummary(Objective objective) {
|
|
var builder = new StringBuilder();
|
|
|
|
var merits = objective
|
|
.EnabledOfType<MeritsGained>()
|
|
.GroupBy(x => x.Power)
|
|
.ToDictionary(x => x.Key, x => x.Sum(x => x.Merits))
|
|
;
|
|
|
|
if (merits == null || merits.Count == 0) {
|
|
return "";
|
|
}
|
|
|
|
foreach (var merit in merits) {
|
|
builder.AppendFormat("MRT: {0}, {1}; ", merit.Key, merit.Value);
|
|
}
|
|
|
|
return builder.ToString().Trim();
|
|
}
|
|
}
|