{\r
var sniffer = new Sniffer();\r
SniffLogFile(sniffer, "practice_001");\r
- PAssert.That(() => sniffer.WrongBattleResult.Length == 0);\r
+ PAssert.That(() => sniffer.WrongBattleResult.Count == 0);\r
}\r
\r
/// <summary>\r
{\r
var sniffer = new Sniffer();\r
SniffLogFile(sniffer, "combined_battle_001");\r
- PAssert.That(() => sniffer.WrongBattleResult.Length == 0);\r
+ PAssert.That(() => sniffer.WrongBattleResult.Count == 0);\r
}\r
\r
/// <summary>\r
{\r
var sniffer = new Sniffer();\r
SniffLogFile(sniffer, "combined_battle_002");\r
- PAssert.That(() => sniffer.WrongBattleResult.Length == 0);\r
+ PAssert.That(() => sniffer.WrongBattleResult.Count == 0);\r
}\r
\r
/// <summary>\r
{\r
var sniffer = new Sniffer();\r
SniffLogFile(sniffer, "combined_battle_003");\r
- PAssert.That(() => sniffer.WrongBattleResult.Length == 0);\r
+ PAssert.That(() => sniffer.WrongBattleResult.Count == 0);\r
}\r
\r
/// <summary>\r
ProcessRequestMain(url, request, response);\r
}\r
\r
- private List<string[]> _battleApiLog = new List<string[]>();\r
+ private readonly List<string[]> _battleApiLog = new List<string[]>();\r
\r
private void ProcessRequestMain(string url, string request, string response)\r
{\r
try\r
{\r
UpdateInfo(_sniffer.Sniff(url, request, JsonParser.Parse(response)));\r
+ CheckBattleResult();\r
SaveBattleApi(url, request, response);\r
- if (_sniffer.WrongBattleResult.Length > 0)\r
- {\r
- if (_errorDialog.ShowDialog(this,\r
- "戦闘結果の計算に誤りがあります。",\r
- GenerateBattleErrorLog()) == DialogResult.Abort)\r
- Application.Exit();\r
- }\r
}\r
catch (RuntimeBinderException e)\r
{\r
}\r
}\r
\r
+ private void CheckBattleResult()\r
+ {\r
+ if (_sniffer.WrongBattleResult.Count > 0)\r
+ {\r
+ if (_errorDialog.ShowDialog(this,\r
+ "戦闘結果の計算に誤りがあります。",\r
+ GenerateBattleErrorLog()) == DialogResult.Abort)\r
+ Application.Exit();\r
+ _sniffer.WrongBattleResult.Clear();\r
+ }\r
+ }\r
+\r
private void SaveBattleApi(string url, string request, string response)\r
{\r
- if (_sniffer.Battle.BattleState == BattleState.Day)\r
- _battleApiLog = new List<string[]> {new[] {url, request, response}};\r
- if (_sniffer.Battle.BattleState == BattleState.Night || _sniffer.Battle.BattleState == BattleState.Result)\r
+ if (_sniffer.Battle.BattleState != BattleState.None)\r
+ {\r
_battleApiLog.Add(new[] {url, request, response});\r
+ return;\r
+ }\r
+ _battleApiLog.Clear();\r
}\r
\r
private string GenerateBattleErrorLog()\r
private readonly List<int> _escapedShips = new List<int>();\r
private int _combinedFleetType;\r
private ShipStatus[] _battleResult = new ShipStatus[0];\r
+ public List<ShipStatusPair> WrongBattleResult { get; private set; } = new List<ShipStatusPair>();\r
\r
public class ShipStatusPair\r
{\r
}\r
}\r
\r
- public ShipStatusPair[] WrongBattleResult { get; private set; } = new ShipStatusPair[0];\r
-\r
public ShipInfo(ItemInfo itemInfo)\r
{\r
_itemInfo = itemInfo;\r
{\r
WrongBattleResult = (from assumed in _battleResult\r
let actual = GetStatus(assumed.Id)\r
- where assumed.NowHp != actual.NowHp select new ShipStatusPair(assumed, actual)).ToArray();\r
+ where assumed.NowHp != actual.NowHp\r
+ select new ShipStatusPair(assumed, actual)).ToList();\r
_battleResult = new ShipStatus[0];\r
}\r
\r
\r
public int[] GetDeck(int fleet) => _shipInfo.GetDeck(fleet);\r
\r
- public ShipInfo.ShipStatusPair[] WrongBattleResult => _shipInfo.WrongBattleResult;\r
+ public List<ShipInfo.ShipStatusPair> WrongBattleResult => _shipInfo.WrongBattleResult;\r
\r
public int CombinedFleetType => _shipInfo.CombinedFleetType;\r
\r