OSDN Git Service

ShipStatusのEscapedフラグをFillUpを介さずに直接立てる
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / Model / ShipInfo.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