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,94 +1,94 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Monitor = void 0;
4
- const ClientManager_1 = require("./../managers/ClientManager");
5
- const Message_1 = require("./../messages/Message");
6
- const events_1 = require("events");
7
- const StringUtil_1 = require("../utils/StringUtil");
8
- const PlayerManager_1 = require("../managers/PlayerManager");
9
- const gameroomService_1 = require("../services/gameroomService");
10
- const Database_1 = require("../managers/Database");
11
- class Monitor extends events_1.EventEmitter {
12
- constructor(code, socket, project, user) {
13
- super();
14
- this.code = code;
15
- this.socket = socket;
16
- this.project = project;
17
- this.user = user;
18
- }
19
- initialize() {
20
- /**
21
- * this is for monitor client accessing msgserver
22
- */
23
- this.socket.on(Message_1.MessageType.CLIENT_MONITOR_API, (projectCode, api, params, cb) => {
24
- ClientManager_1.clientManager.getClientProject(projectCode, false)
25
- .then(project => {
26
- let func = this['_clientapi_' + api];
27
- try {
28
- let result = func.apply(this, [project].concat(params));
29
- if (result && typeof result === 'object' && typeof result.then === 'function') {
30
- result.then(data => {
31
- cb({ data: data });
32
- });
33
- }
34
- else {
35
- cb({ data: result });
36
- }
37
- }
38
- catch (err) {
39
- cb({ error: StringUtil_1.StringUtil.errorToString(err) });
40
- }
41
- });
42
- });
43
- this.socket.on('disconnect', () => {
44
- this.dispose();
45
- });
46
- }
47
- dispose() {
48
- if (!this.socket.disconnected) {
49
- this.socket.disconnect(true);
50
- }
51
- }
52
- // client api --------------------------------------------
53
- _clientapi_list_players(project) {
54
- let list = [];
55
- if (project) {
56
- project.cleanDisconnectedPlayers();
57
- list = project.playerList;
58
- }
59
- return list.map(player => player.toMonitorPlayer());
60
- }
61
- _clientapi_disconnect_player(_project, playerCode) {
62
- let player = PlayerManager_1.playerManager.getPlayerByCode(playerCode);
63
- player && player.disconnect();
64
- }
65
- _clientapi_data_to_player(_project, playerCode, data) {
66
- let target = PlayerManager_1.playerManager.getPlayerByCode(playerCode);
67
- PlayerManager_1.playerManager.designContract(target, 'The player has left the game.');
68
- return target.send(Message_1.Message.forMonitorDataToPlayer(this, data));
69
- }
70
- _clientapi_data_to_project(_project, data) {
71
- return gameroomService_1.gameroomService._getManager().broadcastInProject(this, _project, data);
72
- }
73
- _clientapi_data_to_gamelet(_project, data) {
74
- gameroomService_1.gameroomService._getManager().designContract(_project.code == 'Server', 'Your monitor does not have the authority to make a Gamelet Broadcast');
75
- return gameroomService_1.gameroomService._getManager().broadcastInGamelet(this, data);
76
- }
77
- _clientapi_test(_project, _data) {
78
- return Database_1.database.executeCommand(this.user, {
79
- service: 'score',
80
- method: 'submitScore',
81
- params: JSON.stringify([
82
- 'test',
83
- 'star[@]keep_out',
84
- 0,
85
- 2
86
- ]),
87
- });
88
- }
89
- }
90
- exports.Monitor = Monitor;
91
- Monitor.EVENT = {
92
- DISCONNECTED: 'disconnected',
93
- };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvTW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBNEQ7QUFDNUQsbURBQTZEO0FBRTdELG1DQUFzQztBQUN0QyxvREFBaUQ7QUFFakQsNkRBQTBEO0FBQzFELGlFQUE4RDtBQUM5RCxtREFBZ0Q7QUFFaEQsTUFBYSxPQUFRLFNBQVEscUJBQVk7SUFNckMsWUFBbUIsSUFBWSxFQUFTLE1BQXVCLEVBQVMsT0FBc0IsRUFBUyxJQUFhO1FBQ2hILEtBQUssRUFBRSxDQUFDO1FBRE8sU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVM7SUFFcEgsQ0FBQztJQUVNLFVBQVU7UUFDYjs7V0FFRztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLHFCQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEdBQVcsRUFBRSxNQUFhLEVBQUUsRUFBOEIsRUFBRSxFQUFFO1lBQy9ILDZCQUFhLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztpQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNaLElBQUksSUFBSSxHQUFhLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQy9DLElBQUk7b0JBQ0EsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDeEQsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7d0JBQzNF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
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Monitor = void 0;
4
+ const ClientManager_1 = require("./../managers/ClientManager");
5
+ const Message_1 = require("./../messages/Message");
6
+ const events_1 = require("events");
7
+ const StringUtil_1 = require("../utils/StringUtil");
8
+ const PlayerManager_1 = require("../managers/PlayerManager");
9
+ const gameroomService_1 = require("../services/gameroomService");
10
+ const Database_1 = require("../managers/Database");
11
+ class Monitor extends events_1.EventEmitter {
12
+ constructor(code, socket, project, user) {
13
+ super();
14
+ this.code = code;
15
+ this.socket = socket;
16
+ this.project = project;
17
+ this.user = user;
18
+ }
19
+ initialize() {
20
+ /**
21
+ * this is for monitor client accessing msgserver
22
+ */
23
+ this.socket.on(Message_1.MessageType.CLIENT_MONITOR_API, (projectCode, api, params, cb) => {
24
+ ClientManager_1.clientManager.getClientProject(projectCode, false)
25
+ .then(project => {
26
+ let func = this['_clientapi_' + api];
27
+ try {
28
+ let result = func.apply(this, [project].concat(params));
29
+ if (result && typeof result === 'object' && typeof result.then === 'function') {
30
+ result.then(data => {
31
+ cb({ data: data });
32
+ });
33
+ }
34
+ else {
35
+ cb({ data: result });
36
+ }
37
+ }
38
+ catch (err) {
39
+ cb({ error: StringUtil_1.StringUtil.errorToString(err) });
40
+ }
41
+ });
42
+ });
43
+ this.socket.on('disconnect', () => {
44
+ this.dispose();
45
+ });
46
+ }
47
+ dispose() {
48
+ if (!this.socket.disconnected) {
49
+ this.socket.disconnect(true);
50
+ }
51
+ }
52
+ // client api --------------------------------------------
53
+ _clientapi_list_players(project) {
54
+ let list = [];
55
+ if (project) {
56
+ project.cleanDisconnectedPlayers();
57
+ list = project.playerList;
58
+ }
59
+ return list.map(player => player.toMonitorPlayer());
60
+ }
61
+ _clientapi_disconnect_player(_project, playerCode) {
62
+ let player = PlayerManager_1.playerManager.getPlayerByCode(playerCode);
63
+ player && player.disconnect();
64
+ }
65
+ _clientapi_data_to_player(_project, playerCode, data) {
66
+ let target = PlayerManager_1.playerManager.getPlayerByCode(playerCode);
67
+ PlayerManager_1.playerManager.designContract(target, 'The player has left the game.');
68
+ return target.send(Message_1.Message.forMonitorDataToPlayer(this, data));
69
+ }
70
+ _clientapi_data_to_project(_project, data) {
71
+ return gameroomService_1.gameroomService._getManager().broadcastInProject(this, _project, data);
72
+ }
73
+ _clientapi_data_to_gamelet(_project, data) {
74
+ gameroomService_1.gameroomService._getManager().designContract(_project.code == 'Server', 'Your monitor does not have the authority to make a Gamelet Broadcast');
75
+ return gameroomService_1.gameroomService._getManager().broadcastInGamelet(this, data);
76
+ }
77
+ _clientapi_test(_project, _data) {
78
+ return Database_1.database.executeCommand(this.user, {
79
+ service: 'score',
80
+ method: 'submitScore',
81
+ params: JSON.stringify([
82
+ 'test',
83
+ 'star[@]keep_out',
84
+ 0,
85
+ 2
86
+ ]),
87
+ });
88
+ }
89
+ }
90
+ exports.Monitor = Monitor;
91
+ Monitor.EVENT = {
92
+ DISCONNECTED: 'disconnected',
93
+ };
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvZW50aXRpZXMvTW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBNEQ7QUFDNUQsbURBQTZEO0FBRTdELG1DQUFzQztBQUN0QyxvREFBaUQ7QUFFakQsNkRBQTBEO0FBQzFELGlFQUE4RDtBQUM5RCxtREFBZ0Q7QUFFaEQsTUFBYSxPQUFRLFNBQVEscUJBQVk7SUFNckMsWUFBbUIsSUFBWSxFQUFTLE1BQXVCLEVBQVMsT0FBc0IsRUFBUyxJQUFhO1FBQ2hILEtBQUssRUFBRSxDQUFDO1FBRE8sU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVM7SUFFcEgsQ0FBQztJQUVNLFVBQVU7UUFDYjs7V0FFRztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLHFCQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEdBQVcsRUFBRSxNQUFhLEVBQUUsRUFBOEIsRUFBRSxFQUFFO1lBQy9ILDZCQUFhLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztpQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNaLElBQUksSUFBSSxHQUFhLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQztvQkFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN4RCxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxD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
@@ -1,140 +1,140 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Player = void 0;
4
- const ArrayUtil_1 = require("./../utils/ArrayUtil");
5
- const gameroomService_1 = require("../services/gameroomService");
6
- const StringUtil_1 = require("../utils/StringUtil");
7
- const events_1 = require("events");
8
- const playerService_1 = require("../services/playerService");
9
- const MonitorManager_1 = require("../managers/MonitorManager");
10
- const clientService_1 = require("../services/clientService");
11
- class Player extends events_1.EventEmitter {
12
- constructor(code, socket, client, user, _networkDelay) {
13
- super();
14
- this.code = code;
15
- this.socket = socket;
16
- this.client = client;
17
- this.user = user;
18
- this._networkDelay = _networkDelay;
19
- this.gamezones = [];
20
- // timestamp in seconds
21
- this.loginTime = 0;
22
- // timestamp in milliseconds
23
- this._lastMsgTime = 0;
24
- this._cheats = 0;
25
- this._locale = 'en';
26
- this._lastMsgTime = Date.now();
27
- this.loginTime = Math.floor(this._lastMsgTime / 1000);
28
- this.setupServiceCall(gameroomService_1.gameroomService);
29
- this.setupServiceCall(clientService_1.clientService);
30
- this.setupServiceCall(playerService_1.playerService);
31
- MonitorManager_1.monitorManager.eventPlayerConneced(this);
32
- socket.on('disconnect', () => this.onDisconnected());
33
- let gameroomManager = gameroomService_1.gameroomService._getManager();
34
- gameroomManager.enterGamezone(this, gameroomManager.getClientZone(this.client).code);
35
- }
36
- onDisconnected() {
37
- if (this.gameroom) {
38
- this.gameroom.removePlayer(this);
39
- }
40
- this.gamezones.slice().forEach(zone => zone.removePlayer(this));
41
- this.emit(Player.EVENT.DISCONNECTED, this);
42
- MonitorManager_1.monitorManager.eventPlayerDisconnected(this);
43
- }
44
- addCheat() {
45
- this._cheats++;
46
- }
47
- get cheats() {
48
- return this._cheats;
49
- }
50
- setNetworkDelay(value) {
51
- this._networkDelay = value;
52
- }
53
- setLocale(value) {
54
- this._locale = value;
55
- }
56
- get networkDelay() {
57
- return this._networkDelay;
58
- }
59
- get lastMsgTime() {
60
- return this._lastMsgTime;
61
- }
62
- get locale() {
63
- return this._locale;
64
- }
65
- setupServiceCall(service) {
66
- this.socket.on(service.name, (method, params, cb) => {
67
- this._lastMsgTime = Date.now();
68
- service._execute(this, method, params)
69
- .then(result => {
70
- cb({ data: result });
71
- })
72
- .catch(err => {
73
- cb({ error: StringUtil_1.StringUtil.errorToString(err) });
74
- });
75
- });
76
- }
77
- get clientUserKey() {
78
- return this.client.project.code + '/' + this.user.username;
79
- }
80
- disconnect() {
81
- if (this.socket.disconnected) {
82
- this.onDisconnected();
83
- }
84
- else {
85
- this.socket.disconnect(true);
86
- }
87
- }
88
- toVo() {
89
- let json = {
90
- code: this.code,
91
- user: this.user,
92
- loginTime: this.loginTime,
93
- networkDelay: this.networkDelay,
94
- locale: this._locale,
95
- };
96
- if (this.socket.disconnected) {
97
- json.disconnected = true;
98
- }
99
- return json;
100
- }
101
- toMonitorPlayer() {
102
- return Object.assign(this.toVo(), {
103
- msgVer: this.client.msgVersion,
104
- lastMsgTime: this.lastMsgTime
105
- });
106
- }
107
- send(msg) {
108
- if (this.socket.connected) {
109
- return new Promise(resolve => {
110
- MonitorManager_1.monitorManager.logOutgoing(this.client.project.code, 'player', 'player.send', [this.code, msg.type, msg.params]);
111
- msg.send(this.socket, response => {
112
- resolve(response);
113
- });
114
- });
115
- }
116
- return Promise.reject('not connected');
117
- }
118
- getGameroom() {
119
- return this.gameroom;
120
- }
121
- setGameroom(gameroom) {
122
- if (this.gameroom) {
123
- let oldRoom = this.gameroom;
124
- this.gameroom = null;
125
- oldRoom.removePlayer(this);
126
- }
127
- this.gameroom = gameroom;
128
- }
129
- addGamezone(gamezone) {
130
- ArrayUtil_1.ArrayUtil.addUniqueElement(this.gamezones, gamezone);
131
- }
132
- removeGamezone(gamezone) {
133
- ArrayUtil_1.ArrayUtil.removeElement(this.gamezones, gamezone);
134
- }
135
- }
136
- exports.Player = Player;
137
- Player.EVENT = {
138
- DISCONNECTED: 'disconnected',
139
- };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsb0RBQWlEO0FBQ2pELGlFQUE4RDtBQUc5RCxvREFBaUQ7QUFDakQsbUNBQXNDO0FBQ3RDLDZEQUEwRDtBQUMxRCwrREFBNEQ7QUFDNUQsNkRBQTBEO0FBRzFELE1BQWEsTUFBTyxTQUFRLHFCQUFZO0lBb0JwQyxZQUFtQixJQUFZLEVBQVMsTUFBdUIsRUFBUyxNQUFjLEVBQVMsSUFBYSxFQUFVLGFBQXFCO1FBQ3ZJLEtBQUssRUFBRSxDQUFDO1FBRE8sU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVM7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQVpuSSxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRW5DLHVCQUF1QjtRQUNmLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFOUIsNEJBQTRCO1FBQ3BCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBRXpCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFFcEIsWUFBTyxHQUFXLElBQUksQ0FBQztRQUszQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUNBQWUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw2QkFBYSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDZCQUFhLENBQUMsQ0FBQztRQUVyQywrQkFBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRXJELElBQUksZUFBZSxHQUFHLGlDQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEQsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNDLCtCQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFvQjtRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBYyxFQUFFLE1BQWEsRUFBRSxFQUE4QixFQUFFLEVBQUU7WUFFM0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFL0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztpQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNYLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1QsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLHVCQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRCxDQUFDLENBQUMsQ0FBQTtRQUNWLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pCO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxJQUFJLEdBQWM7WUFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdkIsQ0FBQTtRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDNUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUM5QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDaEMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVNLElBQUksQ0FBQyxHQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FBTSxPQUFPLENBQUMsRUFBRTtnQkFDOUIsK0JBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2pILEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRTtvQkFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFBO1NBQ0w7UUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFrQjtRQUVqQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWtCO1FBQ2pDLHFCQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ00sY0FBYyxDQUFDLFFBQWtCO1FBQ3BDLHFCQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7QUF0Skwsd0JBdUpDO0FBckpVLFlBQUssR0FBRztJQUNYLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUEifQ==
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Player = void 0;
4
+ const ArrayUtil_1 = require("./../utils/ArrayUtil");
5
+ const gameroomService_1 = require("../services/gameroomService");
6
+ const StringUtil_1 = require("../utils/StringUtil");
7
+ const events_1 = require("events");
8
+ const playerService_1 = require("../services/playerService");
9
+ const MonitorManager_1 = require("../managers/MonitorManager");
10
+ const clientService_1 = require("../services/clientService");
11
+ class Player extends events_1.EventEmitter {
12
+ constructor(code, socket, client, user, _networkDelay) {
13
+ super();
14
+ this.code = code;
15
+ this.socket = socket;
16
+ this.client = client;
17
+ this.user = user;
18
+ this._networkDelay = _networkDelay;
19
+ this.gamezones = [];
20
+ // timestamp in seconds
21
+ this.loginTime = 0;
22
+ // timestamp in milliseconds
23
+ this._lastMsgTime = 0;
24
+ this._cheats = 0;
25
+ this._locale = 'en';
26
+ this._lastMsgTime = Date.now();
27
+ this.loginTime = Math.floor(this._lastMsgTime / 1000);
28
+ this.setupServiceCall(gameroomService_1.gameroomService);
29
+ this.setupServiceCall(clientService_1.clientService);
30
+ this.setupServiceCall(playerService_1.playerService);
31
+ MonitorManager_1.monitorManager.eventPlayerConneced(this);
32
+ socket.on('disconnect', () => this.onDisconnected());
33
+ let gameroomManager = gameroomService_1.gameroomService._getManager();
34
+ gameroomManager.enterGamezone(this, gameroomManager.getClientZone(this.client).code);
35
+ }
36
+ onDisconnected() {
37
+ if (this.gameroom) {
38
+ this.gameroom.removePlayer(this);
39
+ }
40
+ this.gamezones.slice().forEach(zone => zone.removePlayer(this));
41
+ this.emit(Player.EVENT.DISCONNECTED, this);
42
+ MonitorManager_1.monitorManager.eventPlayerDisconnected(this);
43
+ }
44
+ addCheat() {
45
+ this._cheats++;
46
+ }
47
+ get cheats() {
48
+ return this._cheats;
49
+ }
50
+ setNetworkDelay(value) {
51
+ this._networkDelay = value;
52
+ }
53
+ setLocale(value) {
54
+ this._locale = value;
55
+ }
56
+ get networkDelay() {
57
+ return this._networkDelay;
58
+ }
59
+ get lastMsgTime() {
60
+ return this._lastMsgTime;
61
+ }
62
+ get locale() {
63
+ return this._locale;
64
+ }
65
+ setupServiceCall(service) {
66
+ this.socket.on(service.name, (method, params, cb) => {
67
+ this._lastMsgTime = Date.now();
68
+ service._execute(this, method, params)
69
+ .then(result => {
70
+ cb({ data: result });
71
+ })
72
+ .catch(err => {
73
+ cb({ error: StringUtil_1.StringUtil.errorToString(err) });
74
+ });
75
+ });
76
+ }
77
+ get clientUserKey() {
78
+ return this.client.project.code + '/' + this.user.username;
79
+ }
80
+ disconnect() {
81
+ if (this.socket.disconnected) {
82
+ this.onDisconnected();
83
+ }
84
+ else {
85
+ this.socket.disconnect(true);
86
+ }
87
+ }
88
+ toVo() {
89
+ let json = {
90
+ code: this.code,
91
+ user: this.user,
92
+ loginTime: this.loginTime,
93
+ networkDelay: this.networkDelay,
94
+ locale: this._locale,
95
+ };
96
+ if (this.socket.disconnected) {
97
+ json.disconnected = true;
98
+ }
99
+ return json;
100
+ }
101
+ toMonitorPlayer() {
102
+ return Object.assign(this.toVo(), {
103
+ msgVer: this.client.msgVersion,
104
+ lastMsgTime: this.lastMsgTime
105
+ });
106
+ }
107
+ send(msg) {
108
+ if (this.socket.connected) {
109
+ return new Promise(resolve => {
110
+ MonitorManager_1.monitorManager.logOutgoing(this.client.project.code, 'player', 'player.send', [this.code, msg.type, msg.params]);
111
+ msg.send(this.socket, response => {
112
+ resolve(response);
113
+ });
114
+ });
115
+ }
116
+ return Promise.reject('not connected');
117
+ }
118
+ getGameroom() {
119
+ return this.gameroom;
120
+ }
121
+ setGameroom(gameroom) {
122
+ if (this.gameroom) {
123
+ let oldRoom = this.gameroom;
124
+ this.gameroom = null;
125
+ oldRoom.removePlayer(this);
126
+ }
127
+ this.gameroom = gameroom;
128
+ }
129
+ addGamezone(gamezone) {
130
+ ArrayUtil_1.ArrayUtil.addUniqueElement(this.gamezones, gamezone);
131
+ }
132
+ removeGamezone(gamezone) {
133
+ ArrayUtil_1.ArrayUtil.removeElement(this.gamezones, gamezone);
134
+ }
135
+ }
136
+ exports.Player = Player;
137
+ Player.EVENT = {
138
+ DISCONNECTED: 'disconnected',
139
+ };
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZlci9lbnRpdGllcy9QbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsb0RBQWlEO0FBQ2pELGlFQUE4RDtBQUc5RCxvREFBaUQ7QUFDakQsbUNBQXNDO0FBQ3RDLDZEQUEwRDtBQUMxRCwrREFBNEQ7QUFDNUQsNkRBQTBEO0FBRzFELE1BQWEsTUFBTyxTQUFRLHFCQUFZO0lBb0JwQyxZQUFtQixJQUFZLEVBQVMsTUFBdUIsRUFBUyxNQUFjLEVBQVMsSUFBYSxFQUFVLGFBQXFCO1FBQ3ZJLEtBQUssRUFBRSxDQUFDO1FBRE8sU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVM7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQVpuSSxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRW5DLHVCQUF1QjtRQUNmLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFOUIsNEJBQTRCO1FBQ3BCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBRXpCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFFcEIsWUFBTyxHQUFXLElBQUksQ0FBQztRQUszQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUNBQWUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw2QkFBYSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDZCQUFhLENBQUMsQ0FBQztRQUVyQywrQkFBYyxDQUFDLG1CQUFtQixD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