public void AddPiece(EPieceType pieceType, Square square, Player side) { var piece = pieceType.MakePiece(side); BoardPieces[piece.AsInt()] |= square; OccupiedBySide[side.Side] |= square; BoardLayout[square.AsInt()] = piece; if (!IsProbing) { PieceUpdated?.Invoke(piece, square); } }
public BitBoard Pieces(EPieceType type1, EPieceType type2, Player side) => BoardPieces[type1.MakePiece(side).AsInt()] | BoardPieces[type2.MakePiece(side).AsInt()];
public BitBoard Pieces(EPieceType type, Player side) => BoardPieces[type.MakePiece(side).AsInt()];
public BitBoard Pieces(EPieceType type) => BoardPieces[type.MakePiece(PlayerExtensions.White).AsInt()] | BoardPieces[type.MakePiece(PlayerExtensions.Black).AsInt()];