Marco
c213d9b1f3
Now the client considers the position sent by the server to build the position on the board.
52 lines
1.2 KiB
Dart
52 lines
1.2 KiB
Dart
import 'package:mchess/chess_bloc/chess_position.dart';
|
|
import 'package:mchess/utils/chess_utils.dart';
|
|
|
|
abstract class ChessEvent {}
|
|
|
|
class ReceivedMove extends ChessEvent {
|
|
final ChessCoordinate startSquare;
|
|
final ChessCoordinate endSquare;
|
|
|
|
ReceivedMove({required this.startSquare, required this.endSquare});
|
|
}
|
|
|
|
class ReceivedPosition extends ChessEvent {
|
|
final ChessPositionType position;
|
|
|
|
ReceivedPosition({required this.position});
|
|
}
|
|
|
|
class OwnPieceMoved extends ChessEvent {
|
|
final ChessCoordinate startSquare;
|
|
final ChessCoordinate endSquare;
|
|
final ChessPiece piece;
|
|
|
|
OwnPieceMoved(
|
|
{required this.startSquare,
|
|
required this.endSquare,
|
|
required this.piece});
|
|
}
|
|
|
|
class OwnPromotionPlayed extends ChessEvent {
|
|
final ChessPieceClass pieceClass;
|
|
final ChessMove move;
|
|
|
|
OwnPromotionPlayed({required this.pieceClass, required this.move});
|
|
}
|
|
|
|
class InitBoard extends ChessEvent {
|
|
InitBoard();
|
|
}
|
|
|
|
class ColorDetermined extends ChessEvent {
|
|
final ChessColor myColor;
|
|
|
|
ColorDetermined({required this.myColor});
|
|
}
|
|
|
|
class InvalidMovePlayed extends ChessEvent {
|
|
final ChessMove move;
|
|
|
|
InvalidMovePlayed({required this.move});
|
|
}
|