internal Ship Change(int index, Ship ship)
{
var current = this.originalShips[index];
List<Ship> list;
if (index == -1)
{
list = this.originalShips.Take(1).ToList();
}
else
{
list = this.originalShips.ToList();
list[index] = ship;
list.RemoveAll(x => x == null);
}
var ships = new Ship[this.originalShips.Length];
Array.Copy(list.ToArray(), ships, list.Count);
this.UpdateShips(ships);
return current;
}