Room constructor

Room(
  1. String _id,
  2. GameManager gameManager, {
  3. DatabaseReference? lref,
})

Implementation

Room(this._id, this.gameManager, {DatabaseReference? lref}) {
  if (lref == null) {
    ref = gameManager.roomRef!.child(_id);
  } else {
    ref = lref;
  }

  dbListen();

  addDataListener((d) {
    data = d;
  });

  addDataListener((newData) async {
    if ((!players.contains(adminId) || adminId == "") &&
        players.isNotEmpty &&
        players.first == gameManager.username) {
      // wait 0.5 seconds
      await Future.delayed(const Duration(milliseconds: 500));
      ref!.child("admin").set(players.first);
    }
  });
}