OSDN Git Service

艦隊情報に対潜、対空、索敵の艦隊ごとの合計を表示する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 27 Oct 2017 11:45:01 +0000 (20:45 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 27 Oct 2017 11:45:01 +0000 (20:45 +0900)
KancolleSniffer/FleetPanel.cs

index b23c165..5a53504 100644 (file)
@@ -61,12 +61,15 @@ namespace KancolleSniffer
         private void CreateTable(Sniffer sniffer)\r
         {\r
             var list = new List<Record>();\r
-            var fn = new[] {"第一艦隊", "第二艦隊", "第三艦隊", "第四艦隊"};\r
+            var fn = new[] {"第一", "第二", "第三", "第四"};\r
             for (var f = 0; f < fn.Length; f++)\r
             {\r
                 var drumTotal = 0;\r
                 var drumShips = 0;\r
                 var levelTotal = 0;\r
+                var aswTotal = 0;\r
+                var antiAirTotal = 0;\r
+                var losTotal = 0;\r
                 var ships = new List<Record>();\r
                 foreach (var s in sniffer.GetShipStatuses(f))\r
                 {\r
@@ -110,6 +113,9 @@ namespace KancolleSniffer
                         drumShips++;\r
                     drumTotal += drum;\r
                     levelTotal += s.Level;\r
+                    aswTotal += s.AntiSubmarine;\r
+                    antiAirTotal += s.AntiAir;\r
+                    losTotal += s.LoS;\r
                     var fire = s.EffectiveFirepower;\r
                     var subm = s.EffectiveAntiSubmarine;\r
                     var torp = s.EffectiveTorpedo;\r
@@ -138,10 +144,13 @@ namespace KancolleSniffer
                     tp += sniffer.GetTransportPoint(1);\r
                 list.Add(new Record\r
                 {\r
-                    Fleet = fn[f] + (levelTotal == 0 ? "" : " 合計Lv" + levelTotal) +\r
+                    Fleet = fn[f] + (levelTotal == 0 ? "" : " Lv" + levelTotal) +\r
                             (drumTotal == 0 ? "" : " 缶" + drumTotal + "(" + drumShips + "隻)") +\r
-                            (daihatsu > 0 ? $" 発{daihatsu * 100:f1}%" : ""),\r
-                    Fleet2 = sniffer.CombinedFleetType != 0 && f == 1 ? "" : $"TP: S{(int)tp} A{(int)(tp * 0.7)}"\r
+                            (aswTotal > 0 ? $" 潜{CutOverFlow(aswTotal)}" : "") +\r
+                            (antiAirTotal > 0 ? $" 空{CutOverFlow(antiAirTotal)}" : "") +\r
+                            (losTotal > 0 ? $" 索{CutOverFlow(losTotal)}" : ""),\r
+                    Fleet2 = (sniffer.CombinedFleetType != 0 && f == 1 ? "" : $"TP:S{(int)tp}A{(int)(tp * 0.7)}") +\r
+                             (daihatsu > 0 ? $" 発{daihatsu * 100:f1}%" : "")\r
                 });\r
                 list.AddRange(ships);\r
             }\r
@@ -175,6 +184,8 @@ namespace KancolleSniffer
             _table = list.ToArray();\r
         }\r
 \r
+        private int CutOverFlow(int value) => value > 999 ? 999 : value;\r
+\r
         private string GenEquipString(ItemStatus item)\r
         {\r
             var name = item.Spec.Name;\r