OSDN Git Service

一覧ウィンドウの艦娘の装備の表示に改修レベルと搭載数を加える
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sat, 18 Apr 2015 04:58:22 +0000 (13:58 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Wed, 22 Apr 2015 10:56:22 +0000 (19:56 +0900)
KancolleSniffer/BattleInfo.cs
KancolleSniffer/ItemInfo.cs
KancolleSniffer/ShipInfo.cs
KancolleSniffer/ShipListForm.cs

index 55cfcfb..695b331 100644 (file)
@@ -147,7 +147,7 @@ namespace KancolleSniffer
             var equips = ((int[][])json.api_eSlot).SelectMany(x => x);\r
             return (from slot in equips.Zip(maxEq, (id, max) => new {id, max})\r
                 let spec = _itemInfo.GetSpecByItemId(slot.id)\r
-                where spec.CanAirCombat()\r
+                where spec.CanAirCombat\r
                 select (int)Math.Floor(spec.AntiAir * Math.Sqrt(slot.max))).DefaultIfEmpty().Sum();\r
         }\r
 \r
index 093c680..9a8260a 100644 (file)
@@ -37,17 +37,20 @@ namespace KancolleSniffer
             Name = "";\r
         }\r
 \r
-        public bool CanAirCombat()\r
+        public bool CanAirCombat\r
         {\r
-            switch (Type)\r
+            get\r
             {\r
-                case 6: // 艦戦\r
-                case 7: // 艦爆\r
-                case 8: // 艦攻\r
-                case 11: // 水爆\r
-                    return true;\r
+                switch (Type)\r
+                {\r
+                    case 6: // 艦戦\r
+                    case 7: // 艦爆\r
+                    case 8: // 艦攻\r
+                    case 11: // 水爆\r
+                        return true;\r
+                }\r
+                return false;\r
             }\r
-            return false;\r
         }\r
 \r
         // http://ch.nicovideo.jp/biikame/blomaga/ar663428\r
@@ -74,6 +77,26 @@ namespace KancolleSniffer
                 return 0.9067950;\r
             return 0;\r
         }\r
+\r
+        public bool IsAircraft\r
+        {\r
+            get\r
+            {\r
+                switch (Type)\r
+                {\r
+                    case 6:\r
+                    case 7:\r
+                    case 8:\r
+                    case 9:\r
+                    case 10:\r
+                    case 11:\r
+                    case 25: // オートジャイロ\r
+                    case 26: // 対潜哨戒機\r
+                        return true;\r
+                }\r
+                return false;\r
+            }\r
+        }\r
     }\r
 \r
     public class ItemStatus\r
index 839d151..95d17d2 100644 (file)
@@ -416,7 +416,7 @@ namespace KancolleSniffer
                 let ship = _shipInfo[id]\r
                 from slot in ship.Slot.Zip(ship.OnSlot, (s, o) => new {slot = s, onslot = o})\r
                 let item = _itemInfo[slot.slot]\r
-                where item.CanAirCombat()\r
+                where item.CanAirCombat\r
                 select (int)Math.Floor(item.AntiAir * Math.Sqrt(slot.onslot))).DefaultIfEmpty().Sum();\r
         }\r
 \r
index 137891e..1f20c56 100644 (file)
@@ -106,8 +106,15 @@ namespace KancolleSniffer
                     s.Fleet = -1;\r
                     list.Add(s);\r
                     list.AddRange(\r
-                        s.Slot.Where(id => id != -1).Select(\r
-                            id => CreateDummyEntry(_sniffer.Item.ItemDict[id].Spec.Name, 500))\r
+                        (from e in Enumerable.Range(0, s.Slot.Length)\r
+                            let slot = s.Slot[e]\r
+                            let onslot = s.OnSlot[e]\r
+                            let max = s.Spec.MaxEq[e]\r
+                            where slot != -1\r
+                            let item = _sniffer.Item.ItemDict[slot]\r
+                            select\r
+                                CreateDummyEntry(item.Spec.Name + (item.Level == 0 ? "" : "★" + item.Level) +\r
+                                                 (!item.Spec.IsAircraft ? "" : " " + onslot + "/" + max), 500))\r
                             .DefaultIfEmpty(CreateDummyEntry("なし", 500)));\r
                 }\r
             }\r