OSDN Git Service

装備一覧の表示中にドロップ艦のいる出撃から戻るとエラーになるのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Wed, 3 Aug 2016 11:32:51 +0000 (20:32 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Wed, 3 Aug 2016 11:32:51 +0000 (20:32 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/ItemInfo.cs

index faaf9ba..708d216 100644 (file)
@@ -604,6 +604,17 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// ドロップ艦のいる出撃から戻ったときに、slot_itemを受信する前にItemListを取得しても例外を出さない\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void GetItemListBeforeReceivingSlotItem()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "dropship_001");\r
+            PAssert.That(() => sniffer.ItemList[0].Ship.Id == 250);\r
+        }\r
+\r
+        /// <summary>\r
         /// 資材の変動を正しく反映する\r
         /// </summary>\r
         [TestMethod]\r
index 57c0fb0..985489c 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 57c0fb0663cb2c5d83f39f16c4487c9929572ef3
+Subproject commit 985489c9e447c2cc47f5d055cb0caf7b24839bfa
index c8c1828..39ff612 100644 (file)
@@ -566,9 +566,9 @@ namespace KancolleSniffer
                 e.Value.Ship = new ShipStatus();\r
             foreach (var s in shipList)\r
             {\r
-                foreach (var id in s.Slot)\r
-                    _itemInfo[id.Id].Ship = s;\r
-                _itemInfo[s.SlotEx.Id].Ship = s;\r
+                foreach (var item in s.Slot)\r
+                    item.Ship = s;\r
+                s.SlotEx.Ship = s;\r
             }\r
             return (from e in _itemInfo where e.Key != -1 select e.Value).ToArray();\r
         }\r