import 'package:flutter_bloc/flutter_bloc.dart'; import '../connection/ws_connection.dart'; class ConnectionCubit extends Cubit { 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); } }