\r
public DateTime GetTimer(int fleet)\r
{\r
- if (_shipInfo.InMission(fleet) || _shipInfo.InSortie(fleet))\r
+ if (_shipInfo.InMission[fleet] || _shipInfo.InSortie[fleet])\r
return DateTime.MinValue;\r
var cond = _shipInfo.GetShipStatuses(fleet).Select(s => s.Cond).DefaultIfEmpty(49).Min();\r
if (cond >= 49)\r
return result;\r
for (var f = 0; f < result.Length; f++)\r
{\r
- if (_shipInfo.InMission(f) || _shipInfo.InSortie(f))\r
+ if (_shipInfo.InMission[f] || _shipInfo.InSortie[f])\r
continue;\r
var timer = GetTimer(f);\r
if (timer == DateTime.MinValue || prev < _lastUpdate)\r
private string _debugLogFile;\r
private IEnumerator<string> _playLog;\r
private DateTime _prev, _now;\r
+ private bool _inSortie;\r
\r
private readonly ErrorDialog _errorDialog = new ErrorDialog();\r
private readonly ErrorLog _errorLog;\r
\r
private void UpdateShipInfo()\r
{\r
+ SetCurrentFleet();\r
UpdatePanelShipInfo();\r
NotifyDamagedShip();\r
UpdateChargeInfo();\r
_listForm.UpdateList();\r
}\r
\r
+ private void SetCurrentFleet()\r
+ {\r
+ var inSortie = _sniffer.InSortie;\r
+ if (_inSortie || !inSortie.Any(x => x))\r
+ {\r
+ _inSortie = inSortie.Any(x => x);\r
+ return;\r
+ }\r
+ _inSortie = true;\r
+ if (inSortie[0] && inSortie[1])\r
+ {\r
+ _combinedFleet = true;\r
+ _currentFleet = 0;\r
+ }\r
+ else\r
+ {\r
+ _combinedFleet = false;\r
+ _currentFleet = Array.FindIndex(inSortie, x => x);\r
+ }\r
+ }\r
+\r
private void UpdatePanelShipInfo()\r
{\r
var statuses = _sniffer.GetShipStatuses(_currentFleet);\r
panelCombinedFleet.Visible = _combinedFleet;\r
if (_combinedFleet)\r
_mainLabels.SetCombinedShipLabels(_sniffer.GetShipStatuses(0), _sniffer.GetShipStatuses(1));\r
+ for (var i = 0; i < _labelCheckFleets.Length; i++)\r
+ _labelCheckFleets[i].Visible = _currentFleet == i;\r
UpdateAkashiTimer();\r
UpdateFighterPower(_combinedFleet);\r
UpdateLoS();\r
}\r
_combinedFleet = false;\r
_currentFleet = fleet;\r
- foreach (var label in _labelCheckFleets)\r
- label.Visible = false;\r
- _labelCheckFleets[fleet].Visible = true;\r
UpdatePanelShipInfo();\r
}\r
\r
\r
public ShipSpec GetSpec(int id) => _shipMaster.GetSpec(id);\r
\r
- public bool InMission(int fleet) => _inMission[fleet];\r
+ public bool[] InMission => _inMission;\r
\r
- public bool InSortie(int fleet) => _inSortie[fleet];\r
+ public bool[] InSortie => _inSortie;\r
\r
public int CombinedFleetType => _combinedFleetType;\r
\r