Files
chess-client/src/main/java/ru/fokinatorr/chess/game/LocalChessGameService.java
T
2026-03-09 20:16:03 +03:00

22 lines
765 B
Java

package ru.fokinatorr.chess.game;
import reactor.core.publisher.Mono;
import ru.fokinatorr.chess.server.game.event.GameJoinedEvent;
/// Additional methods for a local (offline) chess game.
public interface LocalChessGameService extends ChessGameService {
/// Undo a move. The resulting `Publisher` will signal when the event submission completes.
Mono<Void> undoMove();
/// Redo a move. The resulting `Publisher` will signal when the event submission completes.
Mono<Void> redoMove();
/// Returns a `Publisher` that completes without a value since local games can't have an opponent joining.
/// @return an empty `Publisher`
@Override
default Mono<GameJoinedEvent> waitForOpponentToJoin() {
return Mono.empty();
}
}