OSDN Git Service

ShipStatusのEscapedフラグをFillUpを介さずに直接立てる
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Wed, 1 Aug 2018 12:52:00 +0000 (21:52 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 2 Aug 2018 08:16:06 +0000 (17:16 +0900)
KancolleSniffer/Model/ShipInfo.cs
KancolleSniffer/Sniffer.cs

index 2aaae71..15c5ed2 100644 (file)
@@ -84,6 +84,7 @@ namespace KancolleSniffer.Model
             if (json.api_deck_port()) // port\r
             {\r
                 _shipInventry.Clear();\r
+                _escapedShips.Clear();\r
                 for (var i = 0; i < FleetCount; i++)\r
                     _fleets[i].State = FleetState.Port;\r
                 InspectDeck(json.api_deck_port);\r
@@ -180,7 +181,8 @@ namespace KancolleSniffer.Model
                     AntiSubmarine = (int)entry.api_taisen[0],\r
                     AntiAir = (int)entry.api_taiku[0],\r
                     Lucky = (int)entry.api_lucky[0],\r
-                    Locked = entry.api_locked() && entry.api_locked == 1\r
+                    Locked = entry.api_locked() && entry.api_locked == 1,\r
+                    Escaped = _escapedShips.Contains(id)\r
                 };\r
                 _shipInventry.Add(ship);\r
                 _numEquipsChecker.Check(ship);\r
@@ -342,7 +344,6 @@ namespace KancolleSniffer.Model
         {\r
             if (ship.Empty)\r
                 return ship;\r
-            ship.Escaped = _escapedShips.Contains(ship.Id);\r
             ship.Fleet = FindFleet(ship.Id, out var idx);\r
             ship.DeckIndex = idx;\r
             return ship;\r
@@ -385,14 +386,11 @@ namespace KancolleSniffer.Model
             BadlyDamagedShips = new string[0];\r
         }\r
 \r
-        public void SetEscapedShips(List<int> ships)\r
+        public void SetEscapedShips(List<int> ids)\r
         {\r
-            _escapedShips.AddRange(ships);\r
-        }\r
-\r
-        public void ClearEscapedShips()\r
-        {\r
-            _escapedShips.Clear();\r
+            _escapedShips.AddRange(ids);\r
+            foreach (var id in ids)\r
+                _shipInventry[id].Escaped = true;\r
         }\r
     }\r
 }
\ No newline at end of file
index e781363..adb170b 100644 (file)
@@ -186,7 +186,6 @@ namespace KancolleSniffer
                 _baseAirCoprs.InspectPlaneInfo(data.api_plane_info);\r
             _battleInfo.CleanupResult();\r
             _battleInfo.BattleState = BattleState.None;\r
-            _shipInfo.ClearEscapedShips();\r
             _miscTextInfo.Port();\r
             _cellInfo.Port();\r
             SaveState();\r