mchess-client/lib/connection_cubit/connection_cubit.dart

40 lines
919 B
Dart
Raw Normal View History

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, String? passphrase) {
ServerConnection.getInstance().connect(playerID, passphrase);
}
void disonnect() {
ServerConnection.getInstance().disconnectExistingConnection();
2023-06-29 23:49:18 +00:00
}
void opponentConnected() {
emit(ConnectionCubitState(true));
}
}
class ConnectionCubitState {
2023-06-29 23:49:18 +00:00
final bool opponentConnected;
2023-06-29 23:49:18 +00:00
ConnectionCubitState(this.opponentConnected);
factory ConnectionCubitState.init() {
return ConnectionCubitState(false);
}
}