public ShipStatus()\r
{\r
Id = -1;\r
+ Fleet = -1;\r
Spec = new ShipSpec();\r
OnSlot = new int[0];\r
Slot = new ItemStatus[0];\r
\r
public object Clone()\r
{\r
- return MemberwiseClone();\r
+ var r = (ShipStatus)MemberwiseClone();\r
+ r.Slot = r.Slot.ToArray(); // 戦闘中のダメコンの消費が見えないように複製する\r
+ return r;\r
}\r
}\r
\r
private int _hqLevel;\r
private readonly List<int> _escapedShips = new List<int>();\r
private int _combinedFleetType;\r
- private readonly int[][] _presetDeck = new int[8][];\r
\r
public ShipInfo(ItemInfo itemInfo)\r
{\r
InspectDeck(json.api_deck_data);\r
InspectShipData(json.api_ship_data);\r
}\r
- else if (json.api_ship()) // getship\r
+ else if (json.api_ship()) // getshipとpowerup\r
{\r
InspectShipData(new[] {json.api_ship});\r
}\r
foreach (var ship in ships)\r
_shipInfo.Remove(int.Parse(ship));\r
InspectDeck(json.api_deck);\r
- InspectShip(json.api_ship);\r
+ InspectShip(json);\r
}\r
\r
public void InspectSlotExchange(string request, dynamic json)\r
_shipInfo.Remove(ship);\r
}\r
\r
- public void InspectPresetDeck(dynamic json)\r
- {\r
- foreach (KeyValuePair<string, dynamic> entry in json.api_deck)\r
- InspectPresetRegister(entry.Value);\r
- }\r
-\r
- public void InspectPresetRegister(dynamic json)\r
- {\r
- var no = (int)json.api_preset_no - 1;\r
- _presetDeck[no] = json.api_ship;\r
- }\r
-\r
- public void InspectPresetDelete(string request)\r
- {\r
- var values = HttpUtility.ParseQueryString(request);\r
- _presetDeck[int.Parse(values["api_preset_no"]) - 1] = null;\r
- }\r
-\r
public void InspectCombined(string request)\r
{\r
var values = HttpUtility.ParseQueryString(request);\r
_combinedFleetType = int.Parse(values["api_combined_type"]);\r
}\r
\r
- public int[][] PresetDeck => _presetDeck;\r
-\r
public void InspectMapStart(string request)\r
{\r
var values = HttpUtility.ParseQueryString(request);\r
return s;\r
}\r
\r
+ public void SetItemHolder()\r
+ {\r
+ foreach (var ship in _shipInfo.Values)\r
+ {\r
+ foreach (var item in ship.Slot)\r
+ _itemInfo.GetStatus(item.Id).Holder = ship;\r
+ _itemInfo.GetStatus(ship.SlotEx.Id).Holder = ship;\r
+ }\r
+ }\r
+\r
public ShipSpec GetSpec(int id) => _shipMaster[id];\r
\r
public bool InMission(int fleet) => _inMission[fleet];\r