public void Clean() { var board = GameObject.Find("Board"); var blackPieces = board.transform.Find("BlackPieces"); var whitePieces = board.transform.Find("WhitePieces"); foreach (Transform piece in blackPieces.transform) { int x = (int)piece.GetComponent <Piece>().position.x; int y = (int)piece.GetComponent <Piece>().position.y; NetworkManager.Instance.AddMessage(RobotOperations.Remove(new Vector2Int(x, y), piece.GetComponent <Piece>().InitialPosition)); } foreach (Transform piece in whitePieces.transform) { int x = (int)piece.GetComponent <Piece>().position.x; int y = (int)piece.GetComponent <Piece>().position.y; NetworkManager.Instance.AddMessage(RobotOperations.Remove(new Vector2Int(x, y), piece.GetComponent <Piece>().InitialPosition)); } }
// Проект 01. Шахматы public void SwapPieces(Move move) { GameObject[] objects = GameObject.FindGameObjectsWithTag("Highlight"); foreach (GameObject o in objects) { Destroy(o); } Tile firstTile = move.firstPosition; Tile secondTile = move.secondPosition; UpdateRochade(move); firstTile.CurrentPiece.MovePiece(new Vector3(-move.secondPosition.Position.x, 0, move.secondPosition.Position.y)); if (secondTile.CurrentPiece != null) { if (secondTile.CurrentPiece.Type == Piece.pieceType.KING) { Time.timeScale = 0; endGameText.text = "YOU WIN"; _kingDead = true; return; } NetworkManager.Instance.AddMessage(RobotOperations.Remove(secondTile.BoardPosition, secondTile.CurrentPiece.InitialPosition)); Destroy(secondTile.CurrentPiece.gameObject); } NetworkManager.Instance.AddMessage(RobotOperations.Move(firstTile.BoardPosition, secondTile.BoardPosition)); secondTile.CurrentPiece = move.pieceMoved; firstTile.CurrentPiece = null; secondTile.CurrentPiece.position = secondTile.Position; secondTile.CurrentPiece.HasMoved = true; if (move.move == null) { playerTurn = !playerTurn; } }