Florian Stinglmayr
5120c7991f
For Pony's bot, implement a summary line that just shows the highlights of the log
59 lines
1.8 KiB
C#
59 lines
1.8 KiB
C#
using EDPlayerJournal;
|
|
using EDPlayerJournal.BGS;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace EliteBGS.LogGenerator;
|
|
|
|
public class ThargoidFormatter : LogFormatter {
|
|
public string GenerateLog(Objective objective) {
|
|
List<ThargoidKill> kills = objective.EnabledOfType<ThargoidKill>().ToList();
|
|
|
|
if (kills.Count == 0 ) {
|
|
return "";
|
|
}
|
|
|
|
Dictionary<ThargoidVessel, List<ThargoidKill>> sorted = kills
|
|
.GroupBy(x => x.ThargoidType)
|
|
.ToDictionary(x => x.Key, x => x.ToList())
|
|
;
|
|
|
|
StringBuilder builder = new StringBuilder();
|
|
foreach (var k in sorted) {
|
|
string name = Thargoid.GetVesselName(k.Key);
|
|
builder.AppendFormat("{0}x {1}(s) killed\n", k.Value.Count, name);
|
|
}
|
|
|
|
return builder.ToString();
|
|
}
|
|
|
|
public string GenerateSummary(Objective objective) {
|
|
List<ThargoidKill> kills = objective.EnabledOfType<ThargoidKill>().ToList();
|
|
|
|
if (kills.Count == 0 ) {
|
|
return "";
|
|
}
|
|
|
|
int scouts = kills.Where(x => x.ThargoidType == ThargoidVessel.Scout).Count();
|
|
int interceptors = kills.Count - scouts;
|
|
|
|
StringBuilder builder = new StringBuilder();
|
|
|
|
builder.Append("AX: ");
|
|
if (interceptors > 0) {
|
|
builder.AppendFormat("{0} INT", interceptors);
|
|
}
|
|
if (scouts > 0) {
|
|
if (builder.Length> 0) {
|
|
builder.Append(", ");
|
|
}
|
|
builder.AppendFormat("{0} SCT", scouts);
|
|
}
|
|
|
|
return builder.ToString();
|
|
}
|
|
}
|