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 string GenerateLog(Objective objective) {
var missions = objective.EnabledOfType<MissionFailed>();
StringBuilder builder = new StringBuilder();
if (missions.Count <= 0) {
return "";
}
foreach (var failed in missions) {
MissionFailedEntry f = failed.Failed;
string name;
StringBuilder builder = new StringBuilder();
if (!string.IsNullOrEmpty(f.Mission.FriendlyName)) {
name = f.Mission.FriendlyName;
} else if (!string.IsNullOrEmpty(f.Mission.LocalisedName)) {
name = f.Mission.LocalisedName;
} else {
name = f.Mission.Name;
}
var grouping = missions
.GroupBy(x => x.Mission.IsOnFoot)
;
if (!string.IsNullOrEmpty(failed.Faction)) {
builder.AppendFormat("Failed mission \"{0}\" targeting {1}\n", name, failed.Faction);
foreach (var group in grouping) {
int amount = group.Count();
if (group.Key) {
builder.AppendFormat("Failed {0} On Foot Mission(s)\n", amount);
} else {
builder.AppendFormat("Failed mission \"{0}\"\n", name);
builder.AppendFormat("Failed {0} Ship Mission(s)\n", amount);
}
}