Я играл в шахматы, и все хорошо, за исключением того, что, например, пешка показывает маркер движения на фигуре перед ней (пешки не могут так двигаться).Игра не позволит вам переместиться туда, так как код маркера перемещения отделен от фактического кода перемещения и проверки.
Я уже пробовал много разных подходов, таких как итерация каждого фрагмента и проверка, каждый ли фрагментнаходится перед выбранной фигурой, а также убедитесь, что каждая повторяемая часть не является выбранной частью.
if (pieceSelected && !finishedPlacingMoveMarkers)
{
if (selectedPiece.GetComponent<BlackPawn>())
{
if (selectedPiece.transform.position.y + 1 <= 3.5)
{
foreach (Transform child in pieces.transform)
{
if (child.tag == "Piece")
{
if (obj.position == new Vector3(selectedPiece.transform.position.x, selectedPiece.transform.position.y + 1) && child.position != selectedPiece.transform.position)
{
if (child.position == new Vector3(selectedPiece.transform.position.x, selectedPiece.transform.position.y + 1))
{
noMoveHighlight = true;
break;
}
else
{
noMoveHighlight = false;
}
}
}
}
if (!noMoveHighlight)
{
GameObject move1 = Instantiate(tileMoveHighlight);
move1.transform.parent = moveTileHighlights.transform;
move1.transform.position = new Vector3(selectedPiece.transform.position.x, selectedPiece.transform.position.y + 1, -0.9f);
}
}
finishedPlacingMoveMarkers = true;
}
}
Я ожидаю, что результаты будут выглядеть так, когда я выберу пешку: 
Но они выглядят так: 
Пожалуйста, помогите!