UNPKG

gamelet-cli

Version:

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

67 lines 4.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClientOwner = void 0; const ClientProject_1 = require("./ClientProject"); const Constant_1 = require("./../Constant"); const gltserver_service_1 = require("../services/gltserver.service"); class ClientOwner { constructor(ownername) { this.ownername = ownername; this.projects = {}; this.maxPlayers = 5; this.timeToUpdateMaxPlayers = 0; } addProject(project) { this.projects[project.code] = project; } getProject(projectCode) { let project = this.projects[projectCode]; if (!project) { project = new ClientProject_1.ClientProject(projectCode, this); this.projects[projectCode] = project; } return project; } getMaxPlayers() { if (Date.now() < this.timeToUpdateMaxPlayers) { return Promise.resolve(this.maxPlayers); } return gltserver_service_1.serverService.getMaxPlayers(this.ownername) .then(max => { this.maxPlayers = max; this.timeToUpdateMaxPlayers = Date.now() + Constant_1.Constant.ONE_MINUTE; return this.maxPlayers; }); } get playerList() { let list = []; for (let key in this.projects) { list = list.concat(this.projects[key].playerList); } return list; } get playersCount() { let count = 0; for (let key in this.projects) { count += this.projects[key].playersCount; } return count; } getPlayersCountByProject(project) { let ownerCount = 0; let projectCount = 0; for (let key in this.projects) { let count = this.projects[key].playersCount; ownerCount += count; if (key == project.code) { projectCount = count; } } return { ownerCount: ownerCount, projectCount: projectCount }; } } exports.ClientOwner = ClientOwner; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50T3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0NsaWVudE93bmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCw0Q0FBeUM7QUFDekMscUVBQThEO0FBRzlELE1BQWEsV0FBVztJQVFwQixZQUFtQixTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBTjVCLGFBQVEsR0FBcUMsRUFBRSxDQUFDO1FBRWhELGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFdkIsMkJBQXNCLEdBQVcsQ0FBQyxDQUFDO0lBSTNDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBc0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsV0FBbUI7UUFDMUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxHQUFHLElBQUksNkJBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxPQUFPLENBQUM7U0FDeEM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMxQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxpQ0FBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsbUJBQVEsQ0FBQyxVQUFVLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLElBQUksSUFBSSxHQUFhLEVBQUUsQ0FBQztRQUN4QixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNyRDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0IsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELHdCQUF3QixDQUFDLE9BQXNCO1FBQzNDLElBQUksVUFBVSxHQUFXLENBQUMsQ0FBQztRQUMzQixJQUFJLFlBQVksR0FBVyxDQUFDLENBQUM7UUFDN0IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzVDLFVBQVUsSUFBSSxLQUFLLENBQUE7WUFDbkIsSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDckIsWUFBWSxHQUFHLEtBQUssQ0FBQTthQUN2QjtTQUNKO1FBQ0QsT0FBTztZQUNILFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFlBQVksRUFBRSxZQUFZO1NBQzdCLENBQUM7SUFDTixDQUFDO0NBRUo7QUF0RUQsa0NBc0VDIn0=