public static MastersShipData[] ToMastersShipDataArray(
this IEnumerable<int> ids,
int[] lvs,
int[] maxHps,
int[] nowHps,
int[][] param,
int[][] slot)
{
var master = KanColleClient.Current.Master;
return ids
.TakeWhile(x => x != -1)
.Select((id, i) =>
{
return new MastersShipData(master.Ships[id])
{
Level = lvs[i],
Firepower = param[i][0],
Torpedo = param[i][1],
AA = param[i][2],
Armer = param[i][3],
Slots = slot[i].Where(s => 0 < s)
.Select(s => new ShipSlotData(master.SlotItems[s]))
.ToArray()
};
})
.ToArray();
}