joinGame method
Registers the client with the game server
Implementation
@override
Future<String?> joinGame(
PlayerID playerID, GameCode code, PlayerName name) async {
final backendReader = NoServerClient.games[code]!.container.read;
final notifier = backendReader(BackendProviders.lobby.notifier);
await Future.delayed(const Duration(microseconds: 1));
notifier.addPlayer(Player(playerID, name: name));
await Future.delayed(const Duration(microseconds: 1));
final lobby = backendReader(BackendProviders.lobby);
final config = lobby.config;
final players = lobby.players;
if (players.length == config.maxPlayers && config.autoStart) {
notifier.start();
}
return name;
}