OSDN Git Service

IDを-1や0と直接比較するのをやめる
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 30 Jul 2018 11:50:31 +0000 (20:50 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 30 Jul 2018 11:50:31 +0000 (20:50 +0900)
12 files changed:
KancolleSniffer/Logger.cs
KancolleSniffer/Model/BaseAirCoprs.cs
KancolleSniffer/Model/ItemInfo.cs
KancolleSniffer/Model/ItemSpec.cs
KancolleSniffer/Model/ItemStatus.cs
KancolleSniffer/Model/ShipInfo.cs
KancolleSniffer/Model/ShipStatus.cs
KancolleSniffer/TextGenerator.cs
KancolleSniffer/View/BattleResultPanel.cs
KancolleSniffer/View/FleetPanel.cs
KancolleSniffer/View/ItemTreeView.cs
KancolleSniffer/View/ShipLabel.cs

index c50bba9..597219c 100644 (file)
@@ -303,24 +303,24 @@ namespace KancolleSniffer
             var result = _battleInfo.Result.Enemy.Main.Concat(Enumerable.Repeat(new ShipStatus(), 6)).Take(6);\r
             if (_battleInfo.Result.Enemy.Guard.Length == 0)\r
             {\r
-                return result.Select(s => s.Id == -1 ? "," : $"{s.Name},{s.NowHp}/{s.MaxHp}").ToList();\r
+                return result.Select(s => s.Empty ? "," : $"{s.Name},{s.NowHp}/{s.MaxHp}").ToList();\r
             }\r
             var main = result;\r
             var guard = _battleInfo.Result.Enemy.Guard.Concat(Enumerable.Repeat(new ShipStatus(), 6)).Take(6);\r
             return main.Zip(guard, (m, g) =>\r
             {\r
-                if (m.Id == -1 && g.Id == -1)\r
+                if (m.Empty && g.Empty)\r
                     return ",";\r
                 var name = "";\r
                 var hp = "";\r
-                if (m.Id != -1)\r
+                if (!m.Empty)\r
                 {\r
                     name = $"{m.Name}";\r
                     hp = $"{m.NowHp}/{m.MaxHp}";\r
                 }\r
                 name += "・";\r
                 hp += "・";\r
-                if (g.Id != -1)\r
+                if (!g.Empty)\r
                 {\r
                     name += $"{g.Name}";\r
                     hp += $"{g.NowHp}/{g.MaxHp}";\r
index a5b2976..50eb3b0 100644 (file)
@@ -174,7 +174,7 @@ namespace KancolleSniffer.Model
             {\r
                 var planeId = (int)planeInfo.api_squadron_id - 1;\r
                 var prev = airCorps.Planes[planeId];\r
-                if (prev.Slot.Id != -1)\r
+                if (!prev.Slot.Empty)\r
                     _relocationgPlanes.Add(prev.Slot.Id);\r
                 airCorps.Planes[planeId] = new PlaneInfo\r
                 {\r
index 711e936..5316927 100644 (file)
@@ -180,7 +180,7 @@ namespace KancolleSniffer.Model
             return itemIds.Select(itemId =>\r
             {\r
                 var spec = _itemMaster[itemId];\r
-                if (spec.Id == -1)\r
+                if (spec.Empty)\r
                 {\r
                     spec = new ItemSpec {Id = itemId};\r
                     _itemMaster[itemId] = spec;\r
index 4ca1e5d..468bdba 100644 (file)
@@ -21,6 +21,7 @@ namespace KancolleSniffer.Model
     {\r
         public static bool IncreaceLandPowerTp = false;\r
         public int Id;\r
+        public bool Empty => Id == -1;\r
         public string Name;\r
         public int Type;\r
         public string TypeName;\r
index 6cbe2d5..4a0e57a 100644 (file)
@@ -20,6 +20,8 @@ namespace KancolleSniffer.Model
     public class ItemStatus\r
     {\r
         public int Id { get; set; }\r
+        public bool Empty => Id == -1;\r
+        public bool Unimplemented => Id == 0;\r
         public ItemSpec Spec { get; set; } = new ItemSpec();\r
         public int Level { get; set; }\r
         public int Alv { get; set; }\r
index 141be45..d59e69c 100644 (file)
@@ -47,7 +47,7 @@ namespace KancolleSniffer.Model
                 var spec = ship.Spec;\r
                 if (spec.NumEquips != -1 || ship.Id <= MaxId)\r
                     return;\r
-                spec.NumEquips = ship.Slot.Count(item => item.Id != -1);\r
+                spec.NumEquips = ship.Slot.Count(item => !item.Empty);\r
             }\r
         }\r
 \r
index d3408f3..fc0071d 100644 (file)
@@ -22,6 +22,7 @@ namespace KancolleSniffer.Model
     public class ShipStatus : ICloneable\r
     {\r
         public int Id { get; set; }\r
+        public bool Empty => Id == -1;\r
         public Fleet Fleet { get; set; }\r
         public int DeckIndex { get; set; }\r
         public ShipSpec Spec { get; set; }\r
@@ -286,7 +287,7 @@ namespace KancolleSniffer.Model
         {\r
             get\r
             {\r
-                if (AllSlot.All(item => item.Id == -1 || item.Id == 0))\r
+                if (AllSlot.All(item => item.Empty || item.Unimplemented))\r
                     return AntiAir;\r
                 var vanilla = AntiAir - AllSlot.Sum(item => item.Spec.AntiAir);\r
                 var x = vanilla + AllSlot.Sum(item => item.EffectiveAntiAirForShip);\r
index 7a4d329..7c11e18 100644 (file)
@@ -49,7 +49,7 @@ namespace KancolleSniffer
             => "区分,装備名,熟練度,改修,個数\r\n" +\r
                string.Join("\r\n",\r
                    (from item in itemList\r
-                       where item.Spec.Id != -1\r
+                       where !item.Spec.Empty\r
                        orderby item.Spec.Type, item.Spec.Id, item.Alv, item.Level\r
                        group item by\r
                            $"{item.Spec.TypeName},{item.Spec.Name},{item.Alv},{item.Level}"\r
@@ -81,7 +81,7 @@ namespace KancolleSniffer
                 select ($"{s.Name} Lv{s.Level} " +\r
                         string.Join(",",\r
                             from item in s.AllSlot\r
-                            where item.Id != -1\r
+                            where !item.Empty\r
                             select dict[item.Spec.Name] + ItemStatusString(item))).TrimEnd(' ') + "\r\n"));\r
             var fp = target.FighterPower;\r
             sb.Append($"制空: {(fp[0] == fp[1] ? fp[0].ToString() : fp[0] + "~" + fp[1])} " +\r
@@ -158,15 +158,15 @@ namespace KancolleSniffer
                     for (var i = 0; i < items.Length; i++)\r
                     {\r
                         var item = items[i];\r
-                        if (item.Id == -1)\r
+                        if (item.Empty)\r
                             continue;\r
                         if (i != 0)\r
                             sb.Append(",");\r
                         sb.Append($"\"i{i + 1}\":{{\"id\":{item.Spec.Id},\"rf\":{item.Level},\"mas\":{item.Alv}}}");\r
                     }\r
-                    if (ship.SlotEx.Id != 0 && ship.SlotEx.Id != -1)\r
+                    if (!ship.SlotEx.Unimplemented && !ship.SlotEx.Empty)\r
                     {\r
-                        if (ship.Slot.Any(item => item.Id != -1))\r
+                        if (ship.Slot.Any(item => !item.Empty))\r
                             sb.Append(",");\r
                         var name = ship.Spec.SlotNum == 5 ? "ix" : $"i{ship.Spec.SlotNum + 1}";\r
                         sb.Append($"\"{name}\":{{\"id\":{ship.SlotEx.Spec.Id},\"rf\":{ship.SlotEx.Level}}}");\r
index d60bd71..e3e9885 100644 (file)
@@ -264,7 +264,7 @@ namespace KancolleSniffer.View
             var result =\r
             (from i in Enumerable.Range(0, ship.Slot.Length)\r
                 let item = ship.Slot[i]\r
-                where item.Id != -1\r
+                where !item.Empty\r
                 select item.Spec.Name + (item.Spec.IsAircraft && ship.OnSlot.Length > 0 && ship.Spec.MaxEq.Length > 0\r
                            ? $"{ship.OnSlot[i]}/{ship.Spec.MaxEq[i]}"\r
                            : ""));\r
index 58bbe8b..7ab2eac 100644 (file)
@@ -103,7 +103,7 @@ namespace KancolleSniffer.View
                         var item = s.Slot[i];\r
                         var onslot = s.OnSlot[i];\r
                         var max = s.Spec.MaxEq[i];\r
-                        if (item.Id == -1)\r
+                        if (item.Empty)\r
                             continue;\r
                         var airspec = "";\r
                         if (item.Spec.IsDiveBomber) // 爆撃\r
index 573fcd7..f1ef3da 100644 (file)
@@ -37,7 +37,7 @@ namespace KancolleSniffer.View
         private TreeNode CreateItemNodes(IEnumerable<ItemStatus> itemList)\r
         {\r
             var grouped = from item in itemList\r
-                where item.Spec.Id != -1\r
+                where !item.Spec.Empty\r
                 orderby item.Spec.Type, item.Spec.Id, item.Alv, item.Level\r
                 group item by item.Spec.Type\r
                 into byTypeGroup\r
@@ -85,7 +85,7 @@ namespace KancolleSniffer.View
                         foreach (var byShip in byParam)\r
                         {\r
                             var ship = byShip.First().Holder;\r
-                            var name = byShip.Key == -1\r
+                            var name = ship.Empty\r
                                 ? "未装備x" + byShip.Count()\r
                                 : (ship.Fleet == null ? "" : ship.Fleet.Number + 1 + " ") +\r
                                   ship.Name + (ship.Level > 0 ? "Lv" + ship.Level : "") + "x" + byShip.Count();\r
index 216cf81..8ed45a9 100644 (file)
@@ -65,11 +65,11 @@ namespace KancolleSniffer.View
                 return;\r
             }\r
             var empty = SlotStatus.Equipped;\r
-            if (status.Id != -1)\r
+            if (!status.Empty)\r
             {\r
-                if (status.Slot.All(item => item.Id == -1))\r
+                if (status.Slot.All(item => item.Empty))\r
                     empty |= SlotStatus.NormalEmpty;\r
-                if (status.SlotEx.Id == -1)\r
+                if (status.SlotEx.Empty)\r
                     empty |= SlotStatus.ExtraEmpty;\r
             }\r
             var dc = status.PreparedDamageControl;\r