in android/tutorials/tutorial3/src/main/java/com/uber/rib/root/loggedin/tictactoe/TicTacToeInteractor.java [41:77]
protected void didBecomeActive(@Nullable Bundle savedInstanceState) {
super.didBecomeActive(savedInstanceState);
presenter
.squareClicks()
.subscribe(
new Consumer<BoardCoordinate>() {
@Override
public void accept(BoardCoordinate xy) throws Exception {
if (board.cells[xy.getX()][xy.getY()] == null) {
if (currentPlayer == MarkerType.CROSS) {
board.cells[xy.getX()][xy.getY()] = MarkerType.CROSS;
board.currentRow = xy.getX();
board.currentCol = xy.getY();
presenter.addCross(xy);
currentPlayer = MarkerType.NOUGHT;
} else {
board.cells[xy.getX()][xy.getY()] = MarkerType.NOUGHT;
board.currentRow = xy.getX();
board.currentCol = xy.getY();
presenter.addNought(xy);
currentPlayer = MarkerType.CROSS;
}
}
if (board.hasWon(MarkerType.CROSS)) {
presenter.setPlayerWon(playerOne);
} else if (board.hasWon(MarkerType.NOUGHT)) {
presenter.setPlayerWon(playerTwo);
} else if (board.isDraw()) {
presenter.setPlayerTie();
} else {
updateCurrentPlayer();
}
}
});
updateCurrentPlayer();
}