OSDN Git Service

ケッコンカッコカリの結果がすぐに反映されないのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 19 Aug 2018 13:40:20 +0000 (22:40 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 19 Aug 2018 13:40:59 +0000 (22:40 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/Model/ShipInfo.cs
KancolleSniffer/Sniffer.cs

index bdd189c..5e23306 100644 (file)
@@ -595,6 +595,17 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// ship2を待たずにケッコンの結果を反映する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void MarriageResult()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "marriage_001");\r
+            PAssert.That(() => sniffer.Fleets[0].Ships[2].Level == 100);\r
+        }\r
+\r
+        /// <summary>\r
         /// 改修による資材の減少をすぐに反映する\r
         /// </summary>\r
         [TestMethod]\r
index 4ae11cc..79e7655 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 4ae11cc2466653d6179e2b38d602643f256098a0
+Subproject commit 79e765595cb3ea0189b3594f94aea1d599ff8c93
index f272ced..40ba2e3 100644 (file)
@@ -273,6 +273,13 @@ namespace KancolleSniffer.Model
                 fleet.SetDeck(); // ShipStatusの差し替え\r
         }\r
 \r
+        public void InspectMarriage(dynamic json)\r
+        {\r
+            InspectShipData(new[]{json});\r
+            foreach (var fleet in _fleets)\r
+                fleet.SetDeck(); // ShipStatusの差し替え\r
+        }\r
+\r
         public void InspectDestroyShip(string request, dynamic json)\r
         {\r
             var values = HttpUtility.ParseQueryString(request);\r
index 3b260e8..224e4ef 100644 (file)
@@ -148,6 +148,8 @@ namespace KancolleSniffer
                 return ApiBattle(url, request, data);\r
             if (url.Contains("hensei"))\r
                 return ApiHensei(url, request, data);\r
+            if (url.Contains("kaisou"))\r
+                return ApiKaisou(url, request, data);\r
             if (url.Contains("air_corps"))\r
                 return ApiAirCorps(url, request, data);\r
             return ApiOthers(url, request, data);\r
@@ -456,6 +458,34 @@ namespace KancolleSniffer
             return Update.None;\r
         }\r
 \r
+        private Update ApiKaisou(string url, string request, dynamic data)\r
+        {\r
+            if (url.EndsWith("api_req_kaisou/powerup"))\r
+            {\r
+                _shipInfo.InspectPowerup(request, data);\r
+                _conditionTimer.CheckCond();\r
+                _akashiTimer.CheckFleet();\r
+                _questInfo.InspectPowerup(data);\r
+                return Update.Item | Update.Ship | Update.QuestList;\r
+            }\r
+            if (url.EndsWith("api_req_kaisou/slot_exchange_index"))\r
+            {\r
+                _shipInfo.InspectSlotExchange(request, data);\r
+                return Update.Ship;\r
+            }\r
+            if (url.EndsWith("api_req_kaisou/slot_deprive"))\r
+            {\r
+                _shipInfo.InspectSlotDeprive(data);\r
+                return Update.Ship;\r
+            }\r
+            if (url.EndsWith("api_req_kaisou/marriage"))\r
+            {\r
+                _shipInfo.InspectMarriage(data);\r
+                return Update.Ship;\r
+            }\r
+            return Update.None;\r
+        }\r
+\r
         private Update ApiAirCorps(string url, string request, dynamic data)\r
         {\r
             if (url.EndsWith("api_req_air_corps/supply"))\r
@@ -492,24 +522,6 @@ namespace KancolleSniffer
                 _questInfo.CountCharge();\r
                 return Update.Item | Update.Ship | Update.QuestList;\r
             }\r
-            if (url.EndsWith("api_req_kaisou/powerup"))\r
-            {\r
-                _shipInfo.InspectPowerup(request, data);\r
-                _conditionTimer.CheckCond();\r
-                _akashiTimer.CheckFleet();\r
-                _questInfo.InspectPowerup(data);\r
-                return Update.Item | Update.Ship | Update.QuestList;\r
-            }\r
-            if (url.EndsWith("api_req_kaisou/slot_exchange_index"))\r
-            {\r
-                _shipInfo.InspectSlotExchange(request, data);\r
-                return Update.Ship;\r
-            }\r
-            if (url.EndsWith("api_req_kaisou/slot_deprive"))\r
-            {\r
-                _shipInfo.InspectSlotDeprive(data);\r
-                return Update.Ship;\r
-            }\r
             if (url.EndsWith("api_req_nyukyo/start"))\r
             {\r
                 _dockInfo.InspectNyukyo(request);\r