// Copyright 2019 Campbell Crowley. All rights reserved.
// Author: Campbell Crowley (dev@campbellcrowley.com)
/**
* @description Serializable container for data about a team in a game.
* @memberof HungryGames
* @inner
*/
class Team {
/**
* @description Create a team for a game.
* @param {string|number} id The id unique to a guild for this team.
* @param {string} name The name of this team.
* @param {string[]} players Array of player ids on the team.
*/
constructor(id, name, players) {
/**
* The unique id unique to a guild for this team.
*
* @type {string}
* @public
*/
this.id = id;
/**
* The name of this team. Truncates to 100 characters.
*
* @type {string}
* @public
*/
this.name = name.slice(0, 101);
/**
* Array of player ids on the team.
*
* @type {string[]}
* @public
*/
this.players = players;
/**
* The current team rank.
*
* @type {number}
* @public
* @default
*/
this.rank = 1;
/**
* The number of players on the team still alive.
*
* @type {number}
* @public
* @default players.length
*/
this.numAlive = players.length;
}
}
module.exports = Team;