OSDN Git Service

解体の一括解体と装備保管に対応する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 11 Dec 2017 11:51:55 +0000 (20:51 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 11 Dec 2017 12:08:28 +0000 (21:08 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/ShipInfo.cs

index 31c8199..480ac46 100644 (file)
@@ -647,5 +647,18 @@ namespace KancolleSniffer.Test
             SniffLogFile(sniffer, "nyukyo_001");\r
             PAssert.That(() => sniffer.RepairList.Length == 1);\r
         }\r
+\r
+        /// <summary>\r
+        /// 一括解体する(装備保管なしとあり)\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void DestroyShip()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "destroyship_001");\r
+            PAssert.That(() => sniffer.Item.NowShips == 250);\r
+            PAssert.That(() => sniffer.Item.NowEquips == 1118);\r
+            PAssert.That(() => sniffer.Material.Current.Take(4).SequenceEqual(new[] {285615, 286250, 291010, 284744}));\r
+        }\r
     }\r
 }
\ No newline at end of file
index c3b3e41..db10704 160000 (submodule)
@@ -1 +1 @@
-Subproject commit c3b3e410489d0b02b9a6cb5a1e261c5b5f596c13
+Subproject commit db107042fc086e42a82afb693c2a5052993a82fd
index 1950b27..6dc696b 100644 (file)
@@ -298,13 +298,17 @@ namespace KancolleSniffer
         public void InspectDestroyShip(string request, dynamic json)\r
         {\r
             var values = HttpUtility.ParseQueryString(request);\r
-            var ship = int.Parse(values["api_ship_id"]);\r
-            _itemInfo.NowShips--;\r
-            _itemInfo.DeleteItems(_shipInfo[ship].Slot);\r
-            var of = FindFleet(ship, out var oi);\r
-            if (of != -1)\r
-                WithdrowShip(of, oi);\r
-            _shipInfo.Remove(ship);\r
+            var delitem = int.Parse(values["api_slot_dest_flag"] ?? "0") == 1;\r
+            foreach (var ship in values["api_ship_id"].Split(',').Select(int.Parse))\r
+            {\r
+                _itemInfo.NowShips--;\r
+                if (delitem)\r
+                    _itemInfo.DeleteItems(_shipInfo[ship].Slot);\r
+                var of = FindFleet(ship, out var oi);\r
+                if (of != -1)\r
+                    WithdrowShip(of, oi);\r
+                _shipInfo.Remove(ship);\r
+            }\r
         }\r
 \r
         public void InspectCombined(string request)\r