40 lines
934 B
Dart
40 lines
934 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, String? passphrase) {
|
|
ServerConnection.getInstance().connect(playerID, passphrase);
|
|
}
|
|
|
|
Future disonnect() async {
|
|
return ServerConnection.getInstance().disconnectExistingConnection();
|
|
}
|
|
|
|
void opponentConnected() {
|
|
emit(ConnectionCubitState(true));
|
|
}
|
|
}
|
|
|
|
class ConnectionCubitState {
|
|
final bool opponentConnected;
|
|
|
|
ConnectionCubitState(this.opponentConnected);
|
|
|
|
factory ConnectionCubitState.init() {
|
|
return ConnectionCubitState(false);
|
|
}
|
|
}
|