UNPKG

@runox-game/game-engine

Version:
45 lines (44 loc) 1.58 kB
"use strict"; 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;