UNPKG

gamelet-cli

Version:

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

58 lines 4.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.userManager = exports.UserManager = void 0; const IntUtil_1 = require("../utils/IntUtil"); const StringUtil_1 = require("../utils/StringUtil"); const PlayerManager_1 = require("./PlayerManager"); class UserManager { constructor() { this.users = []; this.userIconColors = [ 'blue', 'green', 'orange', 'pink', 'red', 'yellow', ]; this.users.push({ username: 'LocalServerMonitor', nickname: 'Monitor', token: 'localServerMonitor', admin: true, iconUrl: 'https://gamelet.online/img/default_usericon_red.png', ip: '1.1.1.1', }); } getByToken(toiken) { return this.users.find(u => u.token == toiken); } getByUsername(username) { return this.users.find(u => u.username == username); } listByUsernames(usernames) { return this.users.filter(u => usernames.includes(u.username)); } login(clientCode, guest) { let onlineUsernames = PlayerManager_1.playerManager.listPlayers().map(player => player.user.username); let user = this.users.find(u => !onlineUsernames.includes(u.username) && !u.guest == !guest && !u.admin); if (!user) { let userIndex = this.users.length + 1; let username = `DevUser_${userIndex}@devserver`; let userColor = this.userIconColors[userIndex % this.userIconColors.length]; user = { username: username, nickname: `User ${userIndex}`, iconUrl: `https://gamelet.online/img/default_usericon_${userColor}.png`, token: `${username}|${clientCode}|Dev` + StringUtil_1.StringUtil.generateRandomString(3), ip: [192, 168, IntUtil_1.IntUtil.randInt(100, 200), IntUtil_1.IntUtil.randInt(100, 200)].join('.'), guest: !!guest, }; this.users.push(user); } return user; } } exports.UserManager = UserManager; exports.userManager = new UserManager(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL1VzZXJNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUEyQztBQUMzQyxvREFBaUQ7QUFDakQsbURBQWdEO0FBRWhELE1BQWEsV0FBVztJQWFwQjtRQVhRLFVBQUssR0FBYyxFQUFFLENBQUM7UUFFdEIsbUJBQWMsR0FBYTtZQUMvQixNQUFNO1lBQ04sT0FBTztZQUNQLFFBQVE7WUFDUixNQUFNO1lBQ04sS0FBSztZQUNMLFFBQVE7U0FDWCxDQUFDO1FBR0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDWixRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUscURBQXFEO1lBQzlELEVBQUUsRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBYztRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBbUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFrQixFQUFFLEtBQWM7UUFDcEMsSUFBSSxlQUFlLEdBQUcsNkJBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RGLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLFFBQVEsR0FBRyxXQUFXLFNBQVMsWUFBWSxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUUsSUFBSSxHQUFHO2dCQUNILFFBQVEsRUFBRSxRQUFRO2dCQUNsQixRQUFRLEVBQUUsUUFBUSxTQUFTLEVBQUU7Z0JBQzdCLE9BQU8sRUFBRSwrQ0FBK0MsU0FBUyxNQUFNO2dCQUN2RSxLQUFLLEVBQUUsR0FBRyxRQUFRLElBQUksVUFBVSxNQUFNLEdBQUcsdUJBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsaUJBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLGlCQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzlFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSzthQUNqQixDQUFBO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFyREQsa0NBcURDO0FBQ1ksUUFBQSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyJ9