OSDN Git Service

新実装のマップのゲージ最大値を表示できないのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Wed, 22 Aug 2018 12:40:37 +0000 (21:40 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Wed, 22 Aug 2018 12:40:37 +0000 (21:40 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/Model/MiscTextInfo.cs

index 5e23306..b9fe3b8 100644 (file)
@@ -899,6 +899,23 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// 海域ゲージの情報を生成する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void AreaGauge()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "mapgauge_001");\r
+            PAssert.That(() =>\r
+                sniffer.MiscText ==\r
+                               "[海域ゲージ]\r\n" +\r
+                               "1-6 : 撃破 2/7\r\n" +\r
+                               "2-5 : 撃破 0/4\r\n" +\r
+                               "3-5 : 撃破 0/4\r\n" +\r
+                               "4-4 : 撃破 0/4\r\n");\r
+        }\r
+\r
+        /// <summary>\r
         /// 新規のドロップ艦の初期装備数を登録する\r
         /// </summary>\r
         [TestMethod]\r
index 79e7655..c61631e 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 79e765595cb3ea0189b3594f94aea1d599ff8c93
+Subproject commit c61631ebfc75a4fa17df803b0564d17c066581e5
index 2d9f3e7..d008252 100644 (file)
@@ -23,6 +23,8 @@ namespace KancolleSniffer.Model
         private readonly ShipInfo _shipInfo;\r
         private readonly ItemInfo _itemInfo;\r
         private bool _inSortie;\r
+        private readonly Dictionary<int, int> _gaugeCount = new Dictionary<int, int>();\r
+        private readonly Dictionary<int, string> _furniture = new Dictionary<int, string>();\r
 \r
         private const string GuideText =\r
             "[海域ゲージ情報]\r\n 海域選択画面に進むと表示します。\r\n[演習情報]\r\n 演習相手を選ぶと表示します。\r\n[獲得アイテム]\r\n 帰投したときに表示します。";\r
@@ -46,23 +48,22 @@ namespace KancolleSniffer.Model
             _items.Clear();\r
         }\r
 \r
-        private readonly Dictionary<int, int> _required = new Dictionary<int, int>\r
+        public void InspectMaster(dynamic json)\r
         {\r
-            {15, 4},\r
-            {16, 7},\r
-            {25, 4},\r
-            {35, 4},\r
-            {44, 4},\r
-            {45, 5},\r
-            {52, 4},\r
-            {53, 5},\r
-            {54, 5},\r
-            {55, 5},\r
-            {62, 3},\r
-            {63, 4},\r
-            {64, 5},\r
-            {65, 6}\r
-        };\r
+            if (json.api_mst_mapinfo())\r
+            {\r
+                foreach (var entry in json.api_mst_mapinfo)\r
+                {\r
+                    if (entry.api_required_defeat_count != null)\r
+                        _gaugeCount[(int)entry.api_id] = (int)entry.api_required_defeat_count;\r
+                }\r
+            }\r
+            if (json.api_mst_furniture())\r
+            {\r
+                foreach (var entry in json.api_mst_furniture)\r
+                    _furniture[(int)entry.api_id] = (string)entry.api_title;\r
+            }\r
+        }\r
 \r
         public void InspectMapInfo(dynamic json)\r
         {\r
@@ -78,7 +79,7 @@ namespace KancolleSniffer.Model
                 }\r
                 if (!entry.api_defeat_count())\r
                     continue;\r
-                var reqStr = _required.TryGetValue(map, out var req) ? req.ToString() : "?";\r
+                var reqStr = _gaugeCount.TryGetValue(map, out var req) ? req.ToString() : "?";\r
                 Text += $"{map / 10}-{map % 10} : 撃破 {(int)entry.api_defeat_count}/{reqStr}\r\n";\r
             }\r
         }\r
@@ -248,16 +249,6 @@ namespace KancolleSniffer.Model
             dict[id] += count;\r
         }\r
 \r
-        private readonly Dictionary<int, string> _furniture = new Dictionary<int, string>();\r
-\r
-        public void InspectMaster(dynamic json)\r
-        {\r
-            if (!json.api_mst_furniture())\r
-                return;\r
-            foreach (var entry in json.api_mst_furniture)\r
-                _furniture[(int)entry.api_id] = (string)entry.api_title;\r
-        }\r
-\r
         private string GetName(int type, int id)\r
         {\r
             switch (type)\r