OSDN Git Service

艦隊に関する責務をShipInfoからFleetクラスに移す
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / BattleInfo.cs
index 3a32909..710911e 100644 (file)
@@ -128,11 +128,12 @@ namespace KancolleSniffer
                 return;\r
             _shipInfo.SaveBattleStartStatus();\r
             _fleet = DeckId(json);\r
-            var fstats = _shipInfo.GetShipStatuses(_fleet);\r
+            var fleets = _shipInfo.Fleets;\r
+            var fstats = fleets[_fleet].Ships;\r
             FlagshipRecovery(request, fstats[0]);\r
             _friend = Record.Setup(fstats, practice);\r
             _guard = json.api_f_nowhps_combined()\r
-                ? Record.Setup(_shipInfo.GetShipStatuses(1), practice)\r
+                ? Record.Setup(fleets[1].Ships, practice)\r
                 : new Record[0];\r
             _enemy = Record.Setup((int[])json.api_e_nowhps,\r
                 ((int[])json.api_ship_ke).Select(_shipInfo.GetSpec).ToArray(),\r
@@ -220,9 +221,10 @@ namespace KancolleSniffer
 \r
         private int[] CalcFighterPower()\r
         {\r
+            var fleets = _shipInfo.Fleets;\r
             if (_guard.Length > 0 && _enemyGuard.Length > 0)\r
-                return _shipInfo.GetFighterPower(0).Zip(_shipInfo.GetFighterPower(1), (a, b) => a + b).ToArray();\r
-            return _shipInfo.GetFighterPower(_fleet);\r
+                return fleets[0].FighterPower.Zip(fleets[1].FighterPower, (a, b) => a + b).ToArray();\r
+            return fleets[_fleet].FighterPower;\r
         }\r
 \r
         private EnemyFighterPower CalcEnemyFighterPower(dynamic json)\r
@@ -507,9 +509,10 @@ namespace KancolleSniffer
         {\r
             if (_friend == null)\r
                 return;\r
+            var fleets = _shipInfo.Fleets;\r
             var ships = _guard.Length > 0\r
-                ? _shipInfo.GetShipStatuses(0).Concat(_shipInfo.GetShipStatuses(1)).ToArray()\r
-                : _shipInfo.GetShipStatuses(_fleet);\r
+                ? fleets[0].Ships.Concat(fleets[1].Ships)\r
+                : fleets[_fleet].Ships;\r
             foreach (var entry in ships.Zip(_friend.Concat(_guard), (ship, now) => new {ship, now}))\r
                 entry.now.UpdateShipStatus(entry.ship);\r
             if (warnDamagedShip)\r