36 lines
844 B
Dart
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);
|
|
}
|
|
}
|