- foreach (var entry in\r
- new[] {labelMissionName1, labelMissionName2, labelMissionName3}.Zip(_sniffer.Missions,\r
- (label, mission) => new {label, mission.Name}))\r
- entry.label.Text = entry.Name;\r
+ var nameLabels = new[] {labelMissionName1, labelMissionName2, labelMissionName3};\r
+ var paramsLabels = new[] {labelMissionParams1, labelMissionParams2, labelMissionParams3};\r
+ var names = _sniffer.Missions.Select(mission => mission.Name).ToArray();\r
+ for (var i = 0; i < ShipInfo.FleetCount - 1; i++)\r
+ {\r
+ paramsLabels[i].Visible = false;\r
+ if (string.IsNullOrEmpty(names[i]))\r
+ {\r
+ paramsLabels[i].Text = GenerateFleetParamsForMission(i + 1);\r
+ paramsLabels[i].Visible = true;\r
+ }\r
+ nameLabels[i].Text = names[i];\r
+ }\r
+ SetMissionLabel();\r
+ }\r
+\r
+ private void SetMissionLabel()\r
+ {\r
+ labelMission.Text = (_config.ShowEndTime & TimerKind.Mission) != 0 ? "遠征終了" : "遠征";\r
+ }\r
+\r
+ private string GenerateFleetParamsForMission(int fleetNumber)\r
+ {\r
+ var result = new List<string>();\r
+ var fleet = _sniffer.Fleets[fleetNumber];\r
+ var kira = fleet.Ships.Count(ship => ship.Cond > 49);\r
+ var plus = fleet.Ships[0].Cond > 49;\r
+ if (kira > 0)\r
+ result.Add($"キラ{kira}{(plus ? "+" : "")}");\r
+ var drums = fleet.Ships.SelectMany(ship => ship.Slot).Count(item => item.Spec.IsDrum);\r
+ var drumShips = fleet.Ships.Count(ship => ship.Slot.Any(item => item.Spec.IsDrum));\r
+ if (drums > 0)\r
+ result.Add($"ド{drums}({drumShips}隻)");\r
+ if (fleet.DaihatsuBonus > 0)\r
+ result.Add($"ダ{fleet.DaihatsuBonus * 100:f1}%");\r
+ return string.Join(" ", result);\r