core: tournament
This commit is contained in:
@ -9,13 +9,13 @@ class Tourmanent
|
||||
* @param {Number} name
|
||||
* @param {Number} nb_players
|
||||
* @param {Number} nb_players_by_game
|
||||
* @param {Number} level
|
||||
* @param {Number} round
|
||||
* @param {Boolean} started
|
||||
* @param {Boolean} finished
|
||||
* @param {[]} levels
|
||||
* @param {[]} rounds
|
||||
* @param {String} state
|
||||
*/
|
||||
constructor(client, id, name = undefined, nb_players = undefined, nb_players_by_game = undefined, level = undefined, started = undefined, finished = undefined, levels = undefined, state = undefined)
|
||||
constructor(client, id, name = undefined, nb_players = undefined, round = undefined, started = undefined, finished = undefined, rounds = undefined, state = undefined)
|
||||
{
|
||||
/**
|
||||
* @type {Client}
|
||||
@ -31,16 +31,11 @@ class Tourmanent
|
||||
* @type {Number}
|
||||
*/
|
||||
this.nb_players = nb_players;
|
||||
|
||||
/**
|
||||
* @type {Number}
|
||||
*/
|
||||
this.nb_players_by_game = nb_players_by_game;
|
||||
|
||||
/**
|
||||
* @type {Number}
|
||||
*/
|
||||
this.level = level;
|
||||
this.round = round;
|
||||
|
||||
/**
|
||||
* @type {Number}
|
||||
@ -55,7 +50,7 @@ class Tourmanent
|
||||
/**
|
||||
* @type {[]}
|
||||
*/
|
||||
this.levels = levels;
|
||||
this.rounds = rounds;
|
||||
|
||||
/**
|
||||
* @type {String} must be "finished", or "started", or "waiting". Any other return all elements
|
||||
@ -86,13 +81,12 @@ class Tourmanent
|
||||
|
||||
let response_data = await response.json();
|
||||
|
||||
this.name = response_data.name || `${response_data.nb_players_by_game}x1, ${response_data.nb_players} players`;
|
||||
this.name = response_data.name || `${response_data.nb_players} players tournament`;
|
||||
this.nb_players = response_data.nb_players;
|
||||
this.nb_players_by_game = response_data.nb_players_by_game;
|
||||
this.level = response_data.level;
|
||||
this.round = response_data.round;
|
||||
this.started = response_data.started;
|
||||
this.finished = response_data.finished;
|
||||
this.levels = response_data.levels;
|
||||
this.rounds = response_data.rounds;
|
||||
this.state = response_data.state;
|
||||
}
|
||||
|
||||
@ -112,11 +106,11 @@ class Tourmanent
|
||||
this._socket.send(JSON.stringify({participate: ""}));
|
||||
}
|
||||
|
||||
async onParticipantsUpdate(data)
|
||||
async onPlayersUpdate(data)
|
||||
{
|
||||
oldParticipantList = this.par
|
||||
oldPlayerList = this.par
|
||||
|
||||
await this.participantsUpdateHandler();
|
||||
await this.playersUpdateHandler();
|
||||
}
|
||||
|
||||
async onError(data)
|
||||
@ -134,18 +128,18 @@ class Tourmanent
|
||||
|
||||
if (data?.detail === "error")
|
||||
this.onError(data);
|
||||
else if (data?.detail === "participants_update")
|
||||
this.onParticipantsUpdate(data);
|
||||
else if (data?.detail === "players_update")
|
||||
this.onPlayersUpdate(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Join the tournament Websocket
|
||||
* @param {CallableFunction} errorHandler
|
||||
* @param {CallableFunction} participantsUpdateHandler
|
||||
* @param {CallableFunction} playersUpdateHandler
|
||||
* @param {CallableFunction} disconnectHandler
|
||||
* @returns {?}
|
||||
*/
|
||||
async join(participantsUpdateHandler, errorHandler, disconnectHandler)
|
||||
async join(playersUpdateHandler, errorHandler, disconnectHandler)
|
||||
{
|
||||
if (!await this.client.isAuthenticated())
|
||||
return null;
|
||||
@ -157,7 +151,7 @@ class Tourmanent
|
||||
this.connected = true;
|
||||
this.isParticipating = false;
|
||||
|
||||
this.participantsUpdateHandler = participantsUpdateHandler;
|
||||
this.playersUpdateHandler = playersUpdateHandler;
|
||||
this.errorHandler = errorHandler;
|
||||
this.disconnectHandler = disconnectHandler;
|
||||
|
||||
|
@ -30,13 +30,12 @@ class Tourmanents
|
||||
/**
|
||||
*
|
||||
* @param {Number} nb_players
|
||||
* @param {Number} nb_players_by_game
|
||||
* @param {String} name
|
||||
* @returns {Response}
|
||||
*/
|
||||
async createTournament(nb_players, nb_players_by_game, name = "")
|
||||
async createTournament(nb_players, name = "")
|
||||
{
|
||||
let response = await this.client._post("/api/tournaments/", {nb_players: nb_players, nb_players_by_game: nb_players_by_game, name: name});
|
||||
let response = await this.client._post("/api/tournaments/", {nb_players: nb_players, name: name});
|
||||
|
||||
return response;
|
||||
}
|
||||
@ -56,17 +55,16 @@ class Tourmanents
|
||||
return null;
|
||||
}
|
||||
|
||||
let tournaments = [];
|
||||
let tournaments = [];``
|
||||
|
||||
response_data.forEach(tournament_data => {
|
||||
tournaments.push(new Tourmanent(this.client,
|
||||
tournament_data.name,
|
||||
tournament_data.nb_players,
|
||||
tournament_data.nb_players_by_game,
|
||||
tournament_data.level,
|
||||
tournament_data.round,
|
||||
tournament_data.started,
|
||||
tournament_data.finished,
|
||||
tournament_data.levels,
|
||||
tournament_data.rounds,
|
||||
tournament_data.id,
|
||||
tournament_data.state));
|
||||
});
|
||||
|
Reference in New Issue
Block a user