| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | import OnlineDuelSync from './online-duel-sync';export default function GamesManager(ioServer, mariadbConn) {  let currentGames = new Map();  // Method to add player into a game, create or add to game syncer  let addPlayerInGame = function(player, gameId, joinCreatedGame) {    if (currentGames.has(gameId)) {      player.isPlayingGameId = gameId;      return currentGames.get(gameId).addPlayer(player);    } else if (joinCreatedGame === false) {      player.isPlayingGameId = gameId;      currentGames.set(        gameId,        new OnlineDuelSync(ioServer, mariadbConn, gameId, player)      );      return true;      // We are supposed to join a new game, but not there, must have been deleted in the meantime    } else {      console.log(        'error : ' +          player.playerName +          ' tries to join a created game that does not exist anymore'      );      return false;    }  };  let playerLeft = function(player, disconnected) {    let id = player.isPlayingGameId;    if (currentGames.has(id)) {      currentGames.get(id).playerLeft(player, disconnected);      if (!currentGames.get(id).hasPlayers()) {        currentGames.delete(id);      }    }    player.isPlayingGameId = -1;  };  return {    addPlayerInGame,    playerLeft  };}
 |