• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修訂fc61c6082feceddd4e23ab85fb3cfcbddb909b59 (tree)
時間2019-12-09 21:13:15
作者Kazuhiro Fujieda <fujieda@user...>
CommiterKazuhiro Fujieda

Log Message

ShipInfoから出撃中の艦隊番号を取れるようにする

Change Summary

差異

--- a/KancolleSniffer/MainForm.cs
+++ b/KancolleSniffer/MainForm.cs
@@ -673,15 +673,14 @@ namespace KancolleSniffer
673673
674674 private void SetCurrentFleet()
675675 {
676- var states = Sniffer.Fleets.Select(fleet => fleet.State).ToArray();
677- var inSortie = states.Any(state => state >= FleetState.Sortie);
678- if (_inSortie || !inSortie)
676+ var inSortie = Sniffer.InSortie;
677+ if (_inSortie || inSortie == -1)
679678 {
680- _inSortie = inSortie;
679+ _inSortie = inSortie == -1;
681680 return;
682681 }
683682 _inSortie = true;
684- if (states[0] == FleetState.Sortie && states[1] == FleetState.Sortie)
683+ if (inSortie == 10)
685684 {
686685 _combinedFleet = true;
687686 _currentFleet = 0;
@@ -689,7 +688,7 @@ namespace KancolleSniffer
689688 else
690689 {
691690 _combinedFleet = false;
692- _currentFleet = Array.FindIndex(states, state => state >= FleetState.Sortie);
691+ _currentFleet = inSortie;
693692 }
694693 }
695694
--- a/KancolleSniffer/Model/ShipInfo.cs
+++ b/KancolleSniffer/Model/ShipInfo.cs
@@ -12,6 +12,7 @@
1212 // See the License for the specific language governing permissions and
1313 // limitations under the License.
1414
15+using System;
1516 using System.Collections.Generic;
1617 using System.Linq;
1718 using KancolleSniffer.Util;
@@ -383,6 +384,18 @@ namespace KancolleSniffer.Model
383384
384385 public IReadOnlyList<Fleet> Fleets => _fleets;
385386
387+ public int InSortie
388+ {
389+ get
390+ {
391+ var sorties = _fleets.Select(f => f.State >= FleetState.Sortie).ToArray();
392+ if (sorties[0] && sorties[1])
393+ return 10;
394+ var idx = Array.FindIndex(sorties, s => s);
395+ return idx;
396+ }
397+ }
398+
386399 public ShipStatus GetShip(int id) => _shipInventory[id];
387400
388401 public void SetItemHolder()
--- a/KancolleSniffer/Sniffer.cs
+++ b/KancolleSniffer/Sniffer.cs
@@ -634,6 +634,8 @@ namespace KancolleSniffer
634634
635635 public IReadOnlyList<Fleet> Fleets => _shipInfo.Fleets;
636636
637+ public int InSortie => _shipInfo.InSortie;
638+
637639 public ShipInfo.ShipStatusPair[] BattleResultStatusDiff => _shipInfo.BattleResultDiff;
638640
639641 public bool IsBattleResultError => _shipInfo.IsBattleResultError || _battleInfo.DisplayedResultRank.IsError;