softDrop method

void softDrop()

Implementation

void softDrop() {
  if (_state.status != TetrisGameStatus.playing) return;
  final piece = _state.activePiece;
  if (piece == null) return;
  if (_collision.canMove(piece, _state.board, 1, 0)) {
    _state = _state.copyWith(
      activePiece: piece.copyWith(
        position: Position(piece.position.row + 1, piece.position.col),
      ),
      scoreState: _scoring.onSoftDrop(_state.scoreState, 1),
    );
    notifyListeners();
  } else {
    _lockPiece();
  }
}