condense mission fails down

This commit is contained in:
Florian Stinglmayr 2022-12-28 10:41:26 +01:00
parent 132d090fd5
commit 2fae724bd2

View File

@ -8,28 +8,24 @@ namespace EliteBGS.LogGenerator;
public class FailedMissionFormat : LogFormatter { public class FailedMissionFormat : LogFormatter {
public string GenerateLog(Objective objective) { public string GenerateLog(Objective objective) {
var missions = objective.EnabledOfType<MissionFailed>(); var missions = objective.EnabledOfType<MissionFailed>();
StringBuilder builder = new StringBuilder();
if (missions.Count <= 0) { if (missions.Count <= 0) {
return ""; return "";
} }
foreach (var failed in missions) { StringBuilder builder = new StringBuilder();
MissionFailedEntry f = failed.Failed;
string name;
if (!string.IsNullOrEmpty(f.Mission.FriendlyName)) { var grouping = missions
name = f.Mission.FriendlyName; .GroupBy(x => x.Mission.IsOnFoot)
} else if (!string.IsNullOrEmpty(f.Mission.LocalisedName)) { ;
name = f.Mission.LocalisedName;
} else {
name = f.Mission.Name;
}
if (!string.IsNullOrEmpty(failed.Faction)) { foreach (var group in grouping) {
builder.AppendFormat("Failed mission \"{0}\" targeting {1}\n", name, failed.Faction); int amount = group.Count();
if (group.Key) {
builder.AppendFormat("Failed {0} On Foot Mission(s)\n", amount);
} else { } else {
builder.AppendFormat("Failed mission \"{0}\"\n", name); builder.AppendFormat("Failed {0} Ship Mission(s)\n", amount);
} }
} }