gameStream method

  1. @override
Stream<GameOrError<Game<Event>>> gameStream(
  1. PlayerID playerID,
  2. GameCode code
)
override

Implementation

@override
Stream<GameOrError> gameStream(PlayerID playerID, GameCode code) async* {
  final sc = StreamController<GameOrError>();
  _socket!.on(IOChannel.gamestate.string, (data) {
    _socket!.off(IOChannel.lobby.string);
    print('game or error $data');
    final gameState = GameOrError.fromJson(data as Map<String, dynamic>);
    logger.info('Got gamestate $data');
    sc.add(gameState);
  });

  yield* sc.stream;
  await sc.close();
}