OSDN Git Service

遠征欄のパラメータにキラ付きcondの最小値を含める
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 19 Oct 2019 06:57:53 +0000 (15:57 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 20 Oct 2019 12:44:19 +0000 (21:44 +0900)
KancolleSniffer/MainForm.Designer.cs
KancolleSniffer/MainForm.cs
KancolleSniffer/Model/Fleet.cs

index a357060..1ba2ec4 100644 (file)
@@ -705,25 +705,28 @@ namespace KancolleSniffer
             // \r
             // labelMissionParams3\r
             // \r
+            this.labelMissionParams3.AutoSize = true;\r
             this.labelMissionParams3.Location = new System.Drawing.Point(56, 33);\r
             this.labelMissionParams3.Name = "labelMissionParams3";\r
-            this.labelMissionParams3.Size = new System.Drawing.Size(125, 12);\r
+            this.labelMissionParams3.Size = new System.Drawing.Size(0, 12);\r
             this.labelMissionParams3.TabIndex = 11;\r
             this.labelMissionParams3.Click += new System.EventHandler(this.labelMission_Click);\r
             // \r
             // labelMissionParams2\r
             // \r
+            this.labelMissionParams2.AutoSize = true;\r
             this.labelMissionParams2.Location = new System.Drawing.Point(56, 18);\r
             this.labelMissionParams2.Name = "labelMissionParams2";\r
-            this.labelMissionParams2.Size = new System.Drawing.Size(125, 12);\r
+            this.labelMissionParams2.Size = new System.Drawing.Size(0, 12);\r
             this.labelMissionParams2.TabIndex = 10;\r
             this.labelMissionParams2.Click += new System.EventHandler(this.labelMission_Click);\r
             // \r
             // labelMissionParams1\r
             // \r
+            this.labelMissionParams1.AutoSize = true;\r
             this.labelMissionParams1.Location = new System.Drawing.Point(56, 3);\r
             this.labelMissionParams1.Name = "labelMissionParams1";\r
-            this.labelMissionParams1.Size = new System.Drawing.Size(125, 12);\r
+            this.labelMissionParams1.Size = new System.Drawing.Size(0, 12);\r
             this.labelMissionParams1.TabIndex = 9;\r
             this.labelMissionParams1.Click += new System.EventHandler(this.labelMission_Click);\r
             // \r
index bd35c6e..8dd1d51 100644 (file)
@@ -923,7 +923,7 @@ namespace KancolleSniffer
             var names = Sniffer.Missions.Select(mission => mission.Name).ToArray();\r
             for (var i = 0; i < ShipInfo.FleetCount - 1; i++)\r
             {\r
-                var fleetParams = GenerateFleetParamsForMission(i + 1);\r
+                var fleetParams = Sniffer.Fleets[i + 1].MissionParameter;\r
                 var inPort = string.IsNullOrEmpty(names[i]);\r
                 paramsLabels[i].Visible = inPort;\r
                 paramsLabels[i].Text = fleetParams;\r
@@ -938,23 +938,6 @@ namespace KancolleSniffer
             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
-        }\r
-\r
         private void labelMission_Click(object sender, EventArgs e)\r
         {\r
             Config.ShowEndTime ^= TimerKind.Mission;\r
index fdf0213..56c3a9d 100644 (file)
@@ -313,5 +313,27 @@ namespace KancolleSniffer.Model
         }\r
 \r
         public int CombinedTorpedoPenalty => CombinedType != 0 && Number == 1 ? -5 : 0;\r
+\r
+        public string MissionParameter\r
+        {\r
+            get\r
+            {\r
+                var result = new List<string>();\r
+                var kira = Ships.Count(ship => ship.Cond > 49);\r
+                if (kira > 0)\r
+                {\r
+                    var min = Ships.Where(ship => ship.Cond > 49).Min(ship => ship.Cond);\r
+                    var mark = Ships[0].Cond > 49 ? "+" : "";\r
+                    result.Add($"キラ{kira}{mark}≥{min}");\r
+                }\r
+                var drums = Ships.SelectMany(ship => ship.Slot).Count(item => item.Spec.IsDrum);\r
+                var drumShips = Ships.Count(ship => ship.Slot.Any(item => item.Spec.IsDrum));\r
+                if (drums > 0)\r
+                    result.Add($"ド{drums}({drumShips}隻)");\r
+                if (DaihatsuBonus > 0)\r
+                    result.Add($"ダ{DaihatsuBonus * 100:f1}%");\r
+                return string.Join(" ", result);\r
+            }\r
+        }\r
     }\r
 }
\ No newline at end of file