gamelet-cli
Version:
Download project from code.gamelet.com, edit/test in vscode and sync back to server.
67 lines • 4.66 kB
JavaScript
"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=