mchess-client/lib/connection_cubit/connection_cubit.dart
2023-06-30 01:49:18 +02:00

36 lines
844 B
Dart

import 'package:flutter_bloc/flutter_bloc.dart';
import '../connection/ws_connection.dart';
class ConnectionCubit extends Cubit<ConnectionCubitState> {
static final ConnectionCubit _instance = ConnectionCubit._internal();
ConnectionCubit._internal() : super(ConnectionCubitState.init());
factory ConnectionCubit.getInstance() {
return ConnectionCubit();
}
factory ConnectionCubit() {
return _instance;
}
void connect(String playerID, lobbyID, String? passphrase) {
ServerConnection.getInstance().connect(playerID, lobbyID, passphrase);
}
void opponentConnected() {
emit(ConnectionCubitState(true));
}
}
class ConnectionCubitState {
final bool opponentConnected;
ConnectionCubitState(this.opponentConnected);
factory ConnectionCubitState.init() {
return ConnectionCubitState(false);
}
}