public static void MoveCardsToTable(Card[] cards, Action<MoveCardsArgs> it, bool isScriptMove)
{
var idxs = new int[cards.Length];
var fups = new bool[cards.Length];
var xs = new int[cards.Length];
var ys = new int[cards.Length];
MoveCardsArgs prev = null;
for (var i = 0; i < cards.Length; i++)
{
var c = cards[i];
var cur = new MoveCardsArgs(prev, c);
it(cur);
idxs[i] = cur.Index;
fups[i] = cur.FaceUp;
xs[i] = cur.X;
ys[i] = cur.Y;
prev = cur;
}
MoveCardsToTable(cards, xs, ys, fups, idxs, isScriptMove);
}