}\r
\r
/// <summary>\r
- /// 装備の交換を正しく反映する\r
+ /// 装備交換のAPIの仕様変更に対応する\r
/// </summary>\r
[TestMethod]\r
- public void SlotExchange()\r
+ public void SlotExchangeVersion2()\r
{\r
var sniffer = new Sniffer();\r
- SniffLogFile(sniffer, "slot_exchange_001");\r
+ SniffLogFile(sniffer, "slot_exchange_002");\r
var result = sniffer.Fleets[0].Ships[0].Slot.Select(item => item.Id);\r
- PAssert.That(() => new[] {26096, 30571, 77694, 61383, -1}.SequenceEqual(result));\r
+ PAssert.That(() => new[] {157798, 59001, 157804, -1, -1}.SequenceEqual(result));\r
}\r
\r
/// <summary>\r
AntiSubmarine = (int)entry.api_taisen[0],\r
AntiAir = (int)entry.api_taiku[0],\r
Lucky = (int)entry.api_lucky[0],\r
- Locked = entry.api_locked() && entry.api_locked == 1,\r
+ Locked = entry.api_locked() && entry.api_locked == 1\r
};\r
}\r
\r
return;\r
_itemInventory.Remove(ships.SelectMany(id => _shipInventory[id].Slot));\r
_shipInventory.Remove(ships);\r
- FillShipData(new[]{json.api_ship}, json.api_deck);\r
+ FillShipData(new[] {json.api_ship}, json.api_deck);\r
}\r
\r
- public void InspectSlotExchange(string request, dynamic json)\r
+ public void InspectSlotExchange(dynamic json)\r
{\r
- var values = HttpUtility.ParseQueryString(request);\r
- var ship = int.Parse(values["api_id"]);\r
- _shipInventory[ship].Slot = ((int[])json.api_slot).Select(id => new ItemStatus(id)).ToArray();\r
+ UpdateShips(new[] {json.api_ship_data});\r
}\r
\r
public void InspectSlotDeprive(dynamic json)\r
{\r
- FillShips(new[] {json.api_ship_data.api_set_ship, json.api_ship_data.api_unset_ship});\r
- foreach (var fleet in _fleets)\r
- fleet.SetDeck(); // ShipStatusの差し替え\r
+ UpdateShips(new[] {json.api_ship_data.api_set_ship, json.api_ship_data.api_unset_ship});\r
}\r
\r
public void InspectMarriage(dynamic json)\r
{\r
- FillShips(new[]{json});\r
+ UpdateShips(new[] {json});\r
+ }\r
+\r
+ private void UpdateShips(dynamic json)\r
+ {\r
+ FillShips(json);\r
foreach (var fleet in _fleets)\r
fleet.SetDeck(); // ShipStatusの差し替え\r
}\r