@runox-game/game-engine
Version:
RunoX game engine
45 lines (44 loc) • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PlayersGroup = void 0;
var PlayersGroup = /** @class */ (function () {
function PlayersGroup() {
this.players = [];
}
Object.defineProperty(PlayersGroup.prototype, "valid", {
get: function () {
return (this.players && !!this.players.reduce(function (total, x) { return x.valid && total; }, true));
},
enumerable: false,
configurable: true
});
PlayersGroup.prototype.addPlayer = function (player) {
this.players.push(player);
};
PlayersGroup.prototype.addPlayers = function (players) {
var _a;
(_a = this.players).push.apply(_a, players);
};
PlayersGroup.prototype.removePlayer = function (player) {
this.players = this.players.filter(function (x) { return x.id === player.id; });
};
/**
* Randomize order of players
*/
PlayersGroup.prototype.shufflePlayers = function () {
this.players.sort(function () { return Math.random() - 0.5; });
};
/**
* Find Player by id
* @param playerId
*/
PlayersGroup.prototype.getPlayerById = function (playerId) {
var player = this.players.find(function (player) { return player.id === playerId; });
if (!player) {
throw new Error("El jugador con id " + playerId + " no esta en el grupo de jugadores");
}
return player;
};
return PlayersGroup;
}());
exports.PlayersGroup = PlayersGroup;