BoardPosition MakeMove(BoardTile player, int column) { if (player == BoardTile.Empty) { throw new Exception("Cannot place an empty chip."); } try { var boardPos = _board.DropChip(player, column); gameBoard.SetTile(new Vector3Int(column, boardPos.Cell, 0), player == BoardTile.Player ? playerChip : cpuChip); return(boardPos); } catch (ColumnIsFullException) { } catch (ColumnOutOfBoundsException) { } return(null); }