gamelet-cli 0.7.12 → 0.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/assets/package.json.twig +3 -3
  2. package/assets/tsconfig.json.twig +1 -1
  3. package/build/package.json +67 -67
  4. package/build/src/gamelet/download.js +773 -737
  5. package/build/src/gamelet/merges.js +181 -179
  6. package/build/src/gamelet/prepare.js +276 -277
  7. package/build/src/gamelet/upload.js +280 -279
  8. package/build/src/index.js +86 -86
  9. package/build/src/server/Constant.js +9 -9
  10. package/build/src/server/entities/Client.js +78 -78
  11. package/build/src/server/entities/ClientOwner.js +67 -67
  12. package/build/src/server/entities/ClientProject.js +84 -84
  13. package/build/src/server/entities/Gameroom.js +89 -89
  14. package/build/src/server/entities/GameroomBase.js +276 -276
  15. package/build/src/server/entities/Gamezone.js +73 -73
  16. package/build/src/server/entities/ListFilter.js +193 -193
  17. package/build/src/server/entities/Monitor.js +94 -94
  18. package/build/src/server/entities/Player.js +140 -140
  19. package/build/src/server/managers/ApiManager.js +75 -75
  20. package/build/src/server/managers/ClientManager.js +64 -64
  21. package/build/src/server/managers/Database.js +627 -627
  22. package/build/src/server/managers/GameroomManager.js +392 -392
  23. package/build/src/server/managers/ManagerBase.js +17 -17
  24. package/build/src/server/managers/MonitorManager.js +73 -73
  25. package/build/src/server/managers/PlayerManager.js +108 -108
  26. package/build/src/server/managers/SocketManager.js +60 -60
  27. package/build/src/server/managers/UserManager.js +58 -58
  28. package/build/src/server/messages/Message.js +143 -143
  29. package/build/src/server/server.js +112 -113
  30. package/build/src/server/services/ServiceBase.js +25 -25
  31. package/build/src/server/services/clientService.js +23 -23
  32. package/build/src/server/services/gameroomService.js +121 -121
  33. package/build/src/server/services/gltserver.service.js +23 -23
  34. package/build/src/server/services/playerService.js +32 -32
  35. package/build/src/server/startServer.js +32 -33
  36. package/build/src/server/types/BadgeStatus.js +25 -25
  37. package/build/src/server/types/OrderType.js +38 -38
  38. package/build/src/server/types/SubmitType.js +24 -24
  39. package/build/src/server/types/TimeRange.js +26 -26
  40. package/build/src/server/utils/ArrayUtil.js +126 -126
  41. package/build/src/server/utils/IntUtil.js +9 -9
  42. package/build/src/server/utils/ObjectUtil.js +191 -191
  43. package/build/src/server/utils/StringUtil.js +37 -37
  44. package/build/src/utils/cli.js +53 -53
  45. package/build/src/utils/file.js +350 -337
  46. package/build/src/utils/init.js +57 -42
  47. package/build/src/utils/log.js +18 -17
  48. package/build/src/utils/net.js +43 -39
  49. package/package.json +2 -2
@@ -1,84 +1,84 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientProject = void 0;
4
- const Constant_1 = require("./../Constant");
5
- const Client_1 = require("./Client");
6
- class ClientProject {
7
- constructor(code, owner) {
8
- this.code = code;
9
- this.owner = owner;
10
- this.clients = {};
11
- autoDisconnectInactivePlayerLoop(this);
12
- }
13
- getClient(msgVersion) {
14
- let client = this.clients[msgVersion];
15
- if (!client) {
16
- client = new Client_1.Client(this, msgVersion);
17
- this.clients[msgVersion] = client;
18
- }
19
- return client;
20
- }
21
- listClients() {
22
- let list = [];
23
- for (let key in this.clients) {
24
- let client = this.clients[key];
25
- if (client.playersCount) {
26
- list.push(client);
27
- }
28
- else {
29
- delete this.clients[key];
30
- }
31
- }
32
- return list;
33
- }
34
- removePlayerByCode(playerCode) {
35
- for (let key in this.clients) {
36
- let player = this.clients[key].removePlayerByCode(playerCode);
37
- if (player) {
38
- return player;
39
- }
40
- }
41
- return null;
42
- }
43
- get playerList() {
44
- let list = [];
45
- for (let key in this.clients) {
46
- list = list.concat(this.clients[key].playerList);
47
- }
48
- return list;
49
- }
50
- get playersCount() {
51
- let count = 0;
52
- for (let key in this.clients) {
53
- count += this.clients[key].playersCount;
54
- }
55
- return count;
56
- }
57
- cleanDisconnectedPlayers() {
58
- for (let key in this.clients) {
59
- this.clients[key].cleanDisconnectedPlayers();
60
- }
61
- }
62
- getPlayersCount(version, options) {
63
- if (version) {
64
- const client = this.getClient(version);
65
- return client ? client.getPlayersCount(options) : 0;
66
- }
67
- else if (options) {
68
- let total = 0;
69
- for (let key in this.clients) {
70
- total += this.clients[key].getPlayersCount(options);
71
- }
72
- return total;
73
- }
74
- else {
75
- return this.playersCount;
76
- }
77
- }
78
- }
79
- exports.ClientProject = ClientProject;
80
- function autoDisconnectInactivePlayerLoop(project) {
81
- setTimeout(autoDisconnectInactivePlayerLoop, Constant_1.Constant.ONE_HOUR * 2, project);
82
- project.listClients().slice().forEach(client => client.disconnectInactivePlayers());
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50UHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvQ2xpZW50UHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBeUM7QUFDekMscUNBQWdFO0FBS2hFLE1BQWEsYUFBYTtJQUl0QixZQUFtQixJQUFZLEVBQVMsS0FBa0I7UUFBdkMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQWE7UUFGbEQsWUFBTyxHQUE4QixFQUFFLENBQUM7UUFHNUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxVQUFrQjtRQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksR0FBYSxFQUFFLENBQUM7UUFDeEIsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzFCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLFVBQWtCO1FBQ2pDLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMxQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlELElBQUksTUFBTSxFQUFFO2dCQUNSLE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMxQixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMxQixLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDM0M7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsd0JBQXdCO1FBQ3BCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDaEQ7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWdCLEVBQUUsT0FBc0M7UUFDcEUsSUFBSSxPQUFPLEVBQUU7WUFDVCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLE9BQU8sRUFBRTtZQUNoQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZCxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzFCLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN2RDtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDNUI7SUFDTCxDQUFDO0NBQ0o7QUE1RUQsc0NBNEVDO0FBRUQsU0FBUyxnQ0FBZ0MsQ0FBQyxPQUFzQjtJQUM1RCxVQUFVLENBQUMsZ0NBQWdDLEVBQUUsbUJBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO0FBQ3hGLENBQUMifQ==
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientProject = void 0;
4
+ const Constant_1 = require("./../Constant");
5
+ const Client_1 = require("./Client");
6
+ class ClientProject {
7
+ constructor(code, owner) {
8
+ this.code = code;
9
+ this.owner = owner;
10
+ this.clients = {};
11
+ autoDisconnectInactivePlayerLoop(this);
12
+ }
13
+ getClient(msgVersion) {
14
+ let client = this.clients[msgVersion];
15
+ if (!client) {
16
+ client = new Client_1.Client(this, msgVersion);
17
+ this.clients[msgVersion] = client;
18
+ }
19
+ return client;
20
+ }
21
+ listClients() {
22
+ let list = [];
23
+ for (let key in this.clients) {
24
+ let client = this.clients[key];
25
+ if (client.playersCount) {
26
+ list.push(client);
27
+ }
28
+ else {
29
+ delete this.clients[key];
30
+ }
31
+ }
32
+ return list;
33
+ }
34
+ removePlayerByCode(playerCode) {
35
+ for (let key in this.clients) {
36
+ let player = this.clients[key].removePlayerByCode(playerCode);
37
+ if (player) {
38
+ return player;
39
+ }
40
+ }
41
+ return null;
42
+ }
43
+ get playerList() {
44
+ let list = [];
45
+ for (let key in this.clients) {
46
+ list = list.concat(this.clients[key].playerList);
47
+ }
48
+ return list;
49
+ }
50
+ get playersCount() {
51
+ let count = 0;
52
+ for (let key in this.clients) {
53
+ count += this.clients[key].playersCount;
54
+ }
55
+ return count;
56
+ }
57
+ cleanDisconnectedPlayers() {
58
+ for (let key in this.clients) {
59
+ this.clients[key].cleanDisconnectedPlayers();
60
+ }
61
+ }
62
+ getPlayersCount(version, options) {
63
+ if (version) {
64
+ const client = this.getClient(version);
65
+ return client ? client.getPlayersCount(options) : 0;
66
+ }
67
+ else if (options) {
68
+ let total = 0;
69
+ for (let key in this.clients) {
70
+ total += this.clients[key].getPlayersCount(options);
71
+ }
72
+ return total;
73
+ }
74
+ else {
75
+ return this.playersCount;
76
+ }
77
+ }
78
+ }
79
+ exports.ClientProject = ClientProject;
80
+ function autoDisconnectInactivePlayerLoop(project) {
81
+ setTimeout(autoDisconnectInactivePlayerLoop, Constant_1.Constant.ONE_HOUR * 2, project);
82
+ project.listClients().slice().forEach(client => client.disconnectInactivePlayers());
83
+ }
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50UHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvQ2xpZW50UHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBeUM7QUFDekMscUNBQWdFO0FBS2hFLE1BQWEsYUFBYTtJQUl0QixZQUFtQixJQUFZLEVBQVMsS0FBa0I7UUFBdkMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQWE7UUFGbEQsWUFBTyxHQUE4QixFQUFFLENBQUM7UUFHNUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxVQUFrQjtRQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0ws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
@@ -1,89 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Gameroom = exports.GameroomState = void 0;
4
- const GameroomBase_1 = require("./GameroomBase");
5
- var GameroomState;
6
- (function (GameroomState) {
7
- GameroomState[GameroomState["OPEN"] = 0] = "OPEN";
8
- GameroomState[GameroomState["LOCKED"] = 1] = "LOCKED";
9
- GameroomState[GameroomState["OVER"] = 2] = "OVER";
10
- })(GameroomState = exports.GameroomState || (exports.GameroomState = {}));
11
- class Gameroom extends GameroomBase_1.GameroomBase {
12
- constructor(server, client, code, creator, gamezone, name, password, maxPlayers, state, stateJson, allowGuest) {
13
- super('gameroom', code, server, client, stateJson);
14
- this.creator = creator;
15
- this.gamezone = gamezone;
16
- this.name = name;
17
- this.password = password;
18
- this.maxPlayers = maxPlayers;
19
- this.state = state;
20
- this.allowGuest = allowGuest;
21
- this.brainer = creator;
22
- }
23
- get monitorChannel() {
24
- return `(room) ${this.code}`;
25
- }
26
- dispose() {
27
- this.gamezone.removeGameroom(this);
28
- super.dispose();
29
- }
30
- addPlayer(player) {
31
- if (this.playersCount >= this.maxPlayers) {
32
- throw new Error('The number of players has reached the limit of the gameroom size.');
33
- }
34
- if (super.addPlayer(player)) {
35
- player.setGameroom(this);
36
- return true;
37
- }
38
- return false;
39
- }
40
- removePlayer(player) {
41
- if (player.getGameroom() == this) {
42
- player.setGameroom(null);
43
- }
44
- if (super.removePlayer(player)) {
45
- if (!this.playersCount) {
46
- this.dispose();
47
- }
48
- return true;
49
- }
50
- return false;
51
- }
52
- toVo() {
53
- const json = {
54
- code: this.code,
55
- creator: this.creator.toVo(),
56
- name: this.name,
57
- zoneCode: this.gamezone.code,
58
- maxPlayers: this.maxPlayers,
59
- allowGuest: this.allowGuest,
60
- createTime: this.createTime,
61
- };
62
- this.password && (json.pwd = 1);
63
- return json;
64
- }
65
- toStatusVo() {
66
- return {
67
- state: this.state,
68
- stateJson: this.stateJson,
69
- players: this.playersCount,
70
- ping: this.getPing(),
71
- };
72
- }
73
- toAndStatusVo() {
74
- return {
75
- room: this.toVo(),
76
- status: this.toStatusVo()
77
- };
78
- }
79
- toFullVo() {
80
- return {
81
- room: this.toVo(),
82
- status: this.toStatusVo(),
83
- brainer: this.getBrainer().code,
84
- playerStates: this.playerStates
85
- };
86
- }
87
- }
88
- exports.Gameroom = Gameroom;
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2FtZXJvb20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0dhbWVyb29tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGlEQUE4QztBQUc5QyxJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsaURBQUksQ0FBQTtJQUNKLHFEQUFNLENBQUE7SUFDTixpREFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBSXhCO0FBRUQsTUFBYSxRQUFTLFNBQVEsMkJBQVk7SUFFdEMsWUFDSSxNQUEwQixFQUMxQixNQUFjLEVBQ2QsSUFBWSxFQUNMLE9BQWUsRUFDZixRQUFrQixFQUNsQixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsS0FBb0IsRUFDM0IsU0FBaUMsRUFDMUIsVUFBbUI7UUFFMUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQVQ1QyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQWU7UUFFcEIsZUFBVSxHQUFWLFVBQVUsQ0FBUztRQUcxQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxVQUFVLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFBO1NBQ3ZGO1FBQ0QsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYztRQUN2QixJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2xCO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJO1FBQ0EsTUFBTSxJQUFJLEdBQVE7WUFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM5QixDQUFBO1FBQ0QsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPO1lBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7U0FDdkIsQ0FBQTtJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTztZQUNILElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQzVCLENBQUE7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU87WUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUk7WUFDL0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2xDLENBQUE7SUFDTCxDQUFDO0NBQ0o7QUExRkQsNEJBMEZDIn0=
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Gameroom = exports.GameroomState = void 0;
4
+ const GameroomBase_1 = require("./GameroomBase");
5
+ var GameroomState;
6
+ (function (GameroomState) {
7
+ GameroomState[GameroomState["OPEN"] = 0] = "OPEN";
8
+ GameroomState[GameroomState["LOCKED"] = 1] = "LOCKED";
9
+ GameroomState[GameroomState["OVER"] = 2] = "OVER";
10
+ })(GameroomState || (exports.GameroomState = GameroomState = {}));
11
+ class Gameroom extends GameroomBase_1.GameroomBase {
12
+ constructor(server, client, code, creator, gamezone, name, password, maxPlayers, state, stateJson, allowGuest) {
13
+ super('gameroom', code, server, client, stateJson);
14
+ this.creator = creator;
15
+ this.gamezone = gamezone;
16
+ this.name = name;
17
+ this.password = password;
18
+ this.maxPlayers = maxPlayers;
19
+ this.state = state;
20
+ this.allowGuest = allowGuest;
21
+ this.brainer = creator;
22
+ }
23
+ get monitorChannel() {
24
+ return `(room) ${this.code}`;
25
+ }
26
+ dispose() {
27
+ this.gamezone.removeGameroom(this);
28
+ super.dispose();
29
+ }
30
+ addPlayer(player) {
31
+ if (this.playersCount >= this.maxPlayers) {
32
+ throw new Error('The number of players has reached the limit of the gameroom size.');
33
+ }
34
+ if (super.addPlayer(player)) {
35
+ player.setGameroom(this);
36
+ return true;
37
+ }
38
+ return false;
39
+ }
40
+ removePlayer(player) {
41
+ if (player.getGameroom() == this) {
42
+ player.setGameroom(null);
43
+ }
44
+ if (super.removePlayer(player)) {
45
+ if (!this.playersCount) {
46
+ this.dispose();
47
+ }
48
+ return true;
49
+ }
50
+ return false;
51
+ }
52
+ toVo() {
53
+ const json = {
54
+ code: this.code,
55
+ creator: this.creator.toVo(),
56
+ name: this.name,
57
+ zoneCode: this.gamezone.code,
58
+ maxPlayers: this.maxPlayers,
59
+ allowGuest: this.allowGuest,
60
+ createTime: this.createTime,
61
+ };
62
+ this.password && (json.pwd = 1);
63
+ return json;
64
+ }
65
+ toStatusVo() {
66
+ return {
67
+ state: this.state,
68
+ stateJson: this.stateJson,
69
+ players: this.playersCount,
70
+ ping: this.getPing(),
71
+ };
72
+ }
73
+ toAndStatusVo() {
74
+ return {
75
+ room: this.toVo(),
76
+ status: this.toStatusVo()
77
+ };
78
+ }
79
+ toFullVo() {
80
+ return {
81
+ room: this.toVo(),
82
+ status: this.toStatusVo(),
83
+ brainer: this.getBrainer().code,
84
+ playerStates: this.playerStates
85
+ };
86
+ }
87
+ }
88
+ exports.Gameroom = Gameroom;
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2FtZXJvb20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL2VudGl0aWVzL0dhbWVyb29tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGlEQUE4QztBQUc5QyxJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsaURBQUksQ0FBQTtJQUNKLHFEQUFNLENBQUE7SUFDTixpREFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLGFBQWEsNkJBQWIsYUFBYSxRQUl4QjtBQUVELE1BQWEsUUFBUyxTQUFRLDJCQUFZO0lBRXRDLFlBQ0ksTUFBMEIsRUFDMUIsTUFBYyxFQUNkLElBQVksRUFDTCxPQUFlLEVBQ2YsUUFBa0IsRUFDbEIsSUFBWSxFQUNaLFFBQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLEtBQW9CLEVBQzNCLFNBQWlDLEVBQzFCLFVBQW1CO1FBRTFCLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFUNUMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBRXBCLGVBQVUsR0FBVixVQUFVLENBQVM7UUFHMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFBO1FBQ3hGLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWM7UUFDdkIsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUk7UUFDQSxNQUFNLElBQUksR0FBUTtZQUNkLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQzVCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCLENBQUE7UUFDRCxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVTtRQUNOLE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtTQUN2QixDQUFBO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7U0FDNUIsQ0FBQTtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTztZQUNILElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSTtZQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDbEMsQ0FBQTtJQUNMLENBQUM7Q0FDSjtBQTFGRCw0QkEwRkMifQ==