OSDN Git Service

BattleInfoで現在の艦隊をFleetオブジェクトで保持する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 2 Aug 2018 10:54:04 +0000 (19:54 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 2 Aug 2018 10:54:04 +0000 (19:54 +0900)
KancolleSniffer/Model/BattleInfo.cs

index 7bacec1..31a4f1a 100644 (file)
@@ -53,7 +53,7 @@ namespace KancolleSniffer.Model
     {\r
         private readonly ShipInfo _shipInfo;\r
         private readonly ItemInfo _itemInfo;\r
-        private int _fleet;\r
+        private Fleet _fleet;\r
         private Record[] _friend;\r
         private Record[] _guard;\r
         private Record[] _enemy;\r
@@ -129,11 +129,10 @@ namespace KancolleSniffer.Model
             if (_friend != null)\r
                 return;\r
             _shipInfo.SaveBattleStartStatus();\r
-            _fleet = DeckId(json);\r
             var fleets = _shipInfo.Fleets;\r
-            var fstats = fleets[_fleet].Ships;\r
-            FlagshipRecovery(request, fstats[0]);\r
-            _friend = Record.Setup(fstats, practice);\r
+            _fleet = fleets[DeckId(json)];\r
+            FlagshipRecovery(request, _fleet.Ships[0]);\r
+            _friend = Record.Setup(_fleet.Ships, practice);\r
             _guard = json.api_f_nowhps_combined()\r
                 ? Record.Setup(fleets[1].Ships, practice)\r
                 : new Record[0];\r
@@ -226,7 +225,7 @@ namespace KancolleSniffer.Model
             var fleets = _shipInfo.Fleets;\r
             if (_guard.Length > 0 && _enemyGuard.Length > 0)\r
                 return fleets[0].FighterPower.Zip(fleets[1].FighterPower, (a, b) => a + b).ToArray();\r
-            return fleets[_fleet].FighterPower;\r
+            return _fleet.FighterPower;\r
         }\r
 \r
         private EnemyFighterPower CalcEnemyFighterPower(dynamic json)\r
@@ -515,7 +514,7 @@ namespace KancolleSniffer.Model
             var fleets = _shipInfo.Fleets;\r
             var ships = _guard.Length > 0\r
                 ? fleets[0].Ships.Concat(fleets[1].Ships)\r
-                : fleets[_fleet].Ships;\r
+                : _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