UNPKG

gamelet-cli

Version:

Download project from code.gamelet.com, edit/test in vscode and sync back to server.

73 lines 4.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Gamezone = void 0; const ArrayUtil_1 = require("./../utils/ArrayUtil"); const GameroomBase_1 = require("./GameroomBase"); class Gamezone extends GameroomBase_1.GameroomBase { constructor(code, server, client) { super('gamezone', code, server, client); this.gamerooms = []; this._socketChannel = this.client.key + '|' + this.code; } get monitorChannel() { return `(zone) ${this.code}`; } get socketChannel() { return this._socketChannel; } listGamerooms(filter, length) { let list = []; for (let room of this.gamerooms) { if (filter.test(room)) { list.push(room); if (list.length >= length) { break; } } } return list; } listAllGamerooms() { return this.gamerooms; } addPlayer(player) { if (super.addPlayer(player)) { player.addGamezone(this); return true; } return false; } removePlayer(player) { if (super.removePlayer(player)) { player.removeGamezone(this); return true; } return false; } addGameroom(gameroom) { return ArrayUtil_1.ArrayUtil.addUniqueElement(this.gamerooms, gameroom); } removeGameroom(gameroom) { return ArrayUtil_1.ArrayUtil.removeElement(this.gamerooms, gameroom); } toVo() { return { code: this.code }; } toStatusVo() { return { stateJson: this.stateJson, players: this.players.length, brainer: this.brainer ? this.brainer.code : '', }; } toAndStatusVo() { return { zone: this.toVo(), status: this.toStatusVo(), }; } } exports.Gamezone = Gamezone; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2FtZXpvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0dhbWV6b25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG9EQUFpRDtBQUNqRCxpREFBOEM7QUFJOUMsTUFBYSxRQUFTLFNBQVEsMkJBQVk7SUFNdEMsWUFDSSxJQUFZLEVBQ1osTUFBMEIsRUFDMUIsTUFBYztRQUVkLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQVRwQyxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBVS9CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWtCLEVBQUUsTUFBYztRQUM1QyxJQUFJLElBQUksR0FBZSxFQUFFLENBQUM7UUFDMUIsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sRUFBRTtvQkFDdkIsTUFBTTtpQkFDVDthQUNKO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUNwQixJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjO1FBQ3ZCLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWtCO1FBQzFCLE9BQU8scUJBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBa0I7UUFDN0IsT0FBTyxxQkFBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJO1FBQ0EsT0FBTztZQUNILElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFBO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPO1lBQ0gsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2pELENBQUE7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU87WUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUM1QixDQUFBO0lBQ0wsQ0FBQztDQUNKO0FBcEZELDRCQW9GQyJ9