public void ProcessMove(Move move, Figure figure)
{
this.bitboards[(int)figure].DoMove(move);
this.allFigures |= (1UL << (int)move.To);
this.allFigures &= (~(1UL << (int)move.From));
this.figures[(int)move.From] = Figure.Nobody;
this.figures[(int)move.To] = figure;
}