void PickObject(Vector2 from) // Взятие любой фигуры { if (game.isPromotionMove) // Если у нас процесс превращение фигуры { game.NextPromotionMove( // Сделали след. ход превращение с уже известной фигурой promots.GetPromotionFigures(Coords.GetX(from), Coords.GetY(from))); // Pd7d8Q - Фигура в которую должна превратиться пешка: ShowFigures(); return; } squares.MarkSquaresTo(game.GetMoves(), Coords.GetSquare(from)); // e2 }
void PickObject(Vector2 from) { if (onPromotionMove != "") // здесь ещё только фигура с её ходом { int x = Coords.GetX(from); int y = Coords.GetY(from); onPromotionMove += promots.GetPromotionFigure(x, y); // здесь уже фигура с ходом и promotion MakeMove(onPromotionMove); onPromotionMove = ""; ShowFigures(); squares.MarkSquaresFrom(chess.YieldValidMoves()); promots.HidePromotionFigures(); return; } squares.MarkSquaresTo(chess.YieldValidMoves(), Coords.GetSquare(from)); }