E,\r
}\r
\r
+ public enum BattleState\r
+ {\r
+ None,\r
+ Day,\r
+ Night,\r
+ Result\r
+ }\r
+\r
public class BattleInfo\r
{\r
private readonly ShipInfo _shipInfo;\r
private readonly List<int> _escapingShips = new List<int>();\r
private int _flagshipRecoveryType;\r
\r
- public bool InBattle { get; set; }\r
+ public BattleState BattleState { get; set; }\r
public string Formation { get; private set; }\r
public string EnemyFighterPower { get; private set; }\r
public int AirControlLevel { get; private set; }\r
public ShipStatus[] EnemyResultStatus { get; private set; }\r
public List<AirBattleResult> AirBattleResults { get; } = new List<AirBattleResult>();\r
\r
+\r
public BattleInfo(ShipInfo shipInfo, ItemInfo itemInfo)\r
{\r
_shipInfo = shipInfo;\r
\r
public void InspectBattle(dynamic json, string url)\r
{\r
- InBattle = true;\r
Formation = FormationName(json);\r
EnemyFighterPower = CalcEnemyFighterPower(json);\r
AirControlLevel = CheckAirControlLevel(json);\r
SetupResult(json);\r
if (IsNightBattle(json))\r
{\r
+ BattleState = BattleState.Night;\r
CalcHougekiDamage(json.api_hougeki,\r
_guard.Length > 0 ? _guard : _friend,\r
json.api_active_deck() && json.api_active_deck[1] != 1 ? _enemyGuardHp : _enemyHp);\r
}\r
else\r
{\r
+ BattleState = BattleState.Day;\r
CalcDamage(json, url.EndsWith("battle_water"));\r
}\r
ClearEnemyOverKill();\r
\r
public void InspectBattleResult(dynamic json)\r
{\r
+ BattleState = BattleState.Result;\r
ShowResult();\r
CleanupResult();\r
SetEscapeShips(json);\r
\r
public void InspectPracticeResult(dynamic json)\r
{\r
+ BattleState = BattleState.Result;\r
ShowResult(false);\r
CleanupResult();\r
}\r
labelEnemyFighterPower.Text = "";\r
labelFighterPower.ForeColor = DefaultForeColor;\r
labelResultRank.Text = "判定";\r
- panelBattleInfo.Visible = _sniffer.Battle.InBattle;\r
- if (!_sniffer.Battle.InBattle)\r
+ panelBattleInfo.Visible = _sniffer.Battle.BattleState != BattleState.None;\r
+ if (_sniffer.Battle.BattleState == BattleState.None)\r
return;\r
panelBattleInfo.BringToFront();\r
var battle = _sniffer.Battle;\r
if (data.api_plane_info())\r
_baseAirCoprs.InspectPlaneInfo(data.api_plane_info);\r
_battleInfo.CleanupResult();\r
- _battleInfo.InBattle = false;\r
+ _battleInfo.BattleState = BattleState.None;\r
_shipInfo.ClearEscapedShips();\r
_miscTextInfo.ClearIfNeeded();\r
SaveState();\r
// ここだけjsonなので注意\r
_shipInfo.InspectShip(json);\r
_akashiTimer.CheckFleet();\r
- _battleInfo.InBattle = false;\r
+ _battleInfo.BattleState = BattleState.None;\r
return Update.Item | Update.Ship | Update.Battle;\r
}\r
if (url.EndsWith("api_get_member/ship_deck"))\r
{\r
_shipInfo.InspectShip(data);\r
_akashiTimer.CheckFleet();\r
- _battleInfo.InBattle = false;\r
+ _battleInfo.BattleState = BattleState.None;\r
return Update.Ship | Update.Battle;\r
}\r
if (url.EndsWith("api_get_member/ship3"))\r