}\r
\r
/// <summary>\r
+ /// 随伴艦一括解除を実行する\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void WithdrawAccompanyingShipsAtOnce()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "deck_006");\r
+ var result = sniffer.Fleets[0].Deck;\r
+ PAssert.That(() => new[] {135, -1, -1, -1, -1, -1}.SequenceEqual(result));\r
+ }\r
+\r
+ /// <summary>\r
/// 編成展開を正しく反映する\r
/// </summary>\r
[TestMethod]\r
return prev;\r
}\r
\r
- public void WithdrowShip(int index)\r
+ public void WithrawAccompanyingShips()\r
+ {\r
+ for (var i = 1; i < _deck.Length; i++)\r
+ _deck[i] = -1;\r
+ SetDeck();\r
+ }\r
+\r
+ public void WithdrawShip(int index)\r
{\r
- if (index == -1) // 旗艦以外解除\r
- {\r
- for (var i = 1; i < _deck.Length; i++)\r
- _deck[i] = -1;\r
- SetDeck();\r
- return;\r
- }\r
var dst = index;\r
for (var src = index + 1; src < _deck.Length; src++)\r
{\r
var dstIdx = int.Parse(values["api_ship_idx"]);\r
var shipId = int.Parse(values["api_ship_id"]);\r
\r
- if (dstIdx == -1 || shipId == -1) // 解除\r
+ if (shipId == -2)\r
{\r
- dstFleet.WithdrowShip(dstIdx);\r
+ dstFleet.WithrawAccompanyingShips();\r
+ return;\r
+ }\r
+ if (shipId == -1)\r
+ {\r
+ dstFleet.WithdrawShip(dstIdx);\r
return;\r
}\r
var srcFleet = FindFleet(shipId, out var srcIdx);\r
// 入れ替えの場合\r
srcFleet.SetShip(srcIdx, prevShipId);\r
if (prevShipId == -1)\r
- srcFleet.WithdrowShip(srcIdx);\r
+ srcFleet.WithdrawShip(srcIdx);\r
}\r
\r
private Fleet FindFleet(int ship, out int idx)\r
if (delitem)\r
_itemInventry.Remove(_shipInventry[shipId].AllSlot);\r
var srcFleet = FindFleet(shipId, out var srcIdx);\r
- srcFleet?.WithdrowShip(srcIdx);\r
+ srcFleet?.WithdrawShip(srcIdx);\r
_shipInventry.Remove(shipId);\r
}\r
}\r