tiaoom 0.0.13 → 0.0.14

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.
package/src/index.d.cts CHANGED
@@ -164,6 +164,22 @@ declare class Player extends EventEmitter$1 implements IPlayer {
164
164
  * player: 'command', 'message', 'join', 'leave', 'status'
165
165
  */
166
166
  declare enum MessageTypes {
167
+ /**
168
+ * 连接准备就绪事件
169
+ */
170
+ SysReady = "sys.ready",
171
+ /**
172
+ * 连接关闭事件
173
+ */
174
+ SysClose = "sys.close",
175
+ /**
176
+ * 错误事件
177
+ */
178
+ SysError = "sys.error",
179
+ /**
180
+ * 全局错误
181
+ */
182
+ GlobalError = "global.error",
167
183
  /**
168
184
  * 房间列表
169
185
  */
@@ -176,10 +192,6 @@ declare enum MessageTypes {
176
192
  * 房间更新
177
193
  */
178
194
  RoomUpdate = "room.update",
179
- /**
180
- * 房间准备
181
- */
182
- RoomReady = "room.ready",
183
195
  /**
184
196
  * 房间开始
185
197
  */
@@ -200,6 +212,10 @@ declare enum MessageTypes {
200
212
  * 房间命令
201
213
  */
202
214
  RoomCommand = "room.command",
215
+ /**
216
+ * 房间内玩家发送的指令
217
+ */
218
+ RoomPlayerCommand = "room.player-command",
203
219
  /**
204
220
  * 房间消息
205
221
  */
@@ -212,14 +228,6 @@ declare enum MessageTypes {
212
228
  * 玩家离开房间
213
229
  */
214
230
  RoomLeave = "room.leave",
215
- /**
216
- * 房间踢出玩家
217
- */
218
- RoomKick = "room.kick",
219
- /**
220
- * 房间转移
221
- */
222
- RoomTransfer = "room.transfer",
223
231
  /**
224
232
  * 房间玩家准备
225
233
  */
@@ -241,33 +249,17 @@ declare enum MessageTypes {
241
249
  */
242
250
  PlayerLogout = "player.logout",
243
251
  /**
244
- * 玩家消息
252
+ * *玩家消息
245
253
  */
246
254
  PlayerMessage = "player.message",
247
255
  /**
248
- * 玩家命令
256
+ * *玩家命令
249
257
  */
250
258
  PlayerCommand = "player.command",
251
- /**
252
- * 玩家准备
253
- */
254
- PlayerReady = "player.ready",
255
- /**
256
- * 玩家取消准备
257
- */
258
- PlayerUnready = "player.unready",
259
- /**
260
- * 全局命令
261
- */
262
- GlobalCommand = "global.command",
263
259
  /**
264
260
  * 全局消息
265
261
  */
266
262
  GlobalMessage = "global.message",
267
- /**
268
- * 全局错误
269
- */
270
- GlobalError = "global.error",
271
263
  }
272
264
  /**
273
265
  * 消息包接口
@@ -367,7 +359,7 @@ interface RoomEvents extends BaseEvents {
367
359
  * 房间聊天
368
360
  * @param {string} data 消息内容
369
361
  **/
370
- message: (data: string) => void;
362
+ message: (data: string, sender?: IRoomPlayer) => void;
371
363
  /**
372
364
  * 玩家发送的房间命令
373
365
  * @param {IMessagePackage} message 命令内容
@@ -448,6 +440,11 @@ interface TiaoomEvents extends BaseEvents {
448
440
  command: (data: any & {
449
441
  sender: Player;
450
442
  }) => void;
443
+ /**
444
+ * 全局聊天
445
+ * @param {string} data 消息内容
446
+ **/
447
+ message: (data: string, sender?: Player) => void;
451
448
  }
452
449
  //#endregion
453
450
  //#region lib/models/room.d.ts
package/src/index.d.mts CHANGED
@@ -164,6 +164,22 @@ declare class Player extends EventEmitter$1 implements IPlayer {
164
164
  * player: 'command', 'message', 'join', 'leave', 'status'
165
165
  */
166
166
  declare enum MessageTypes {
167
+ /**
168
+ * 连接准备就绪事件
169
+ */
170
+ SysReady = "sys.ready",
171
+ /**
172
+ * 连接关闭事件
173
+ */
174
+ SysClose = "sys.close",
175
+ /**
176
+ * 错误事件
177
+ */
178
+ SysError = "sys.error",
179
+ /**
180
+ * 全局错误
181
+ */
182
+ GlobalError = "global.error",
167
183
  /**
168
184
  * 房间列表
169
185
  */
@@ -176,10 +192,6 @@ declare enum MessageTypes {
176
192
  * 房间更新
177
193
  */
178
194
  RoomUpdate = "room.update",
179
- /**
180
- * 房间准备
181
- */
182
- RoomReady = "room.ready",
183
195
  /**
184
196
  * 房间开始
185
197
  */
@@ -200,6 +212,10 @@ declare enum MessageTypes {
200
212
  * 房间命令
201
213
  */
202
214
  RoomCommand = "room.command",
215
+ /**
216
+ * 房间内玩家发送的指令
217
+ */
218
+ RoomPlayerCommand = "room.player-command",
203
219
  /**
204
220
  * 房间消息
205
221
  */
@@ -212,14 +228,6 @@ declare enum MessageTypes {
212
228
  * 玩家离开房间
213
229
  */
214
230
  RoomLeave = "room.leave",
215
- /**
216
- * 房间踢出玩家
217
- */
218
- RoomKick = "room.kick",
219
- /**
220
- * 房间转移
221
- */
222
- RoomTransfer = "room.transfer",
223
231
  /**
224
232
  * 房间玩家准备
225
233
  */
@@ -241,33 +249,17 @@ declare enum MessageTypes {
241
249
  */
242
250
  PlayerLogout = "player.logout",
243
251
  /**
244
- * 玩家消息
252
+ * *玩家消息
245
253
  */
246
254
  PlayerMessage = "player.message",
247
255
  /**
248
- * 玩家命令
256
+ * *玩家命令
249
257
  */
250
258
  PlayerCommand = "player.command",
251
- /**
252
- * 玩家准备
253
- */
254
- PlayerReady = "player.ready",
255
- /**
256
- * 玩家取消准备
257
- */
258
- PlayerUnready = "player.unready",
259
- /**
260
- * 全局命令
261
- */
262
- GlobalCommand = "global.command",
263
259
  /**
264
260
  * 全局消息
265
261
  */
266
262
  GlobalMessage = "global.message",
267
- /**
268
- * 全局错误
269
- */
270
- GlobalError = "global.error",
271
263
  }
272
264
  /**
273
265
  * 消息包接口
@@ -367,7 +359,7 @@ interface RoomEvents extends BaseEvents {
367
359
  * 房间聊天
368
360
  * @param {string} data 消息内容
369
361
  **/
370
- message: (data: string) => void;
362
+ message: (data: string, sender?: IRoomPlayer) => void;
371
363
  /**
372
364
  * 玩家发送的房间命令
373
365
  * @param {IMessagePackage} message 命令内容
@@ -448,6 +440,11 @@ interface TiaoomEvents extends BaseEvents {
448
440
  command: (data: any & {
449
441
  sender: Player;
450
442
  }) => void;
443
+ /**
444
+ * 全局聊天
445
+ * @param {string} data 消息内容
446
+ **/
447
+ message: (data: string, sender?: Player) => void;
451
448
  }
452
449
  //#endregion
453
450
  //#region lib/models/room.d.ts
package/src/index.mjs CHANGED
@@ -1,116 +1,182 @@
1
1
  import EventEmitter$1, { EventEmitter } from "events";
2
2
 
3
+ //#region lib/client.ts
4
+ /**
5
+ * 客户端发送消息包类型枚举
6
+ * player: 'command', 'message', 'join', 'leave', 'status'
7
+ */
8
+ let MessageTypes$1 = /* @__PURE__ */ function(MessageTypes$2) {
9
+ /**
10
+ * 房间列表
11
+ */
12
+ MessageTypes$2["RoomList"] = "room.list";
13
+ /**
14
+ * 玩家列表
15
+ */
16
+ MessageTypes$2["PlayerList"] = "player.list";
17
+ /**
18
+ * 房间创建
19
+ */
20
+ MessageTypes$2["RoomCreate"] = "room.create";
21
+ /**
22
+ * 玩家加入房间
23
+ */
24
+ MessageTypes$2["PlayerJoin"] = "player.join";
25
+ /**
26
+ * 玩家离开房间
27
+ */
28
+ MessageTypes$2["PlayerLeave"] = "player.leave";
29
+ /**
30
+ * 房间获取
31
+ */
32
+ MessageTypes$2["RoomGet"] = "room.get";
33
+ /**
34
+ * 房间开始
35
+ */
36
+ MessageTypes$2["RoomStart"] = "room.start";
37
+ /**
38
+ * 房间踢出玩家
39
+ */
40
+ MessageTypes$2["RoomKick"] = "room.kick";
41
+ /**
42
+ * 房间转移
43
+ */
44
+ MessageTypes$2["RoomTransfer"] = "room.transfer";
45
+ /**
46
+ * 房间关闭
47
+ */
48
+ MessageTypes$2["RoomClose"] = "room.close";
49
+ /**
50
+ * 玩家登录
51
+ */
52
+ MessageTypes$2["PlayerLogin"] = "player.login";
53
+ /**
54
+ * 玩家登出
55
+ */
56
+ MessageTypes$2["PlayerLogout"] = "player.logout";
57
+ /**
58
+ * 玩家准备
59
+ */
60
+ MessageTypes$2["PlayerReady"] = "player.ready";
61
+ /**
62
+ * 玩家取消准备
63
+ */
64
+ MessageTypes$2["PlayerUnready"] = "player.unready";
65
+ /**
66
+ * 房间内玩家发送的指令
67
+ */
68
+ MessageTypes$2["RoomPlayerCommand"] = "room.player-command";
69
+ /**
70
+ * 全局命令
71
+ */
72
+ MessageTypes$2["GlobalCommand"] = "global.command";
73
+ return MessageTypes$2;
74
+ }({});
75
+
76
+ //#endregion
3
77
  //#region lib/models/message.ts
4
78
  /**
5
79
  * 消息包类型枚举
6
80
  * player: 'command', 'message', 'join', 'leave', 'status'
7
81
  */
8
- let MessageTypes = /* @__PURE__ */ function(MessageTypes$1) {
82
+ let MessageTypes = /* @__PURE__ */ function(MessageTypes$2) {
83
+ /**
84
+ * 连接准备就绪事件
85
+ */
86
+ MessageTypes$2["SysReady"] = "sys.ready";
87
+ /**
88
+ * 连接关闭事件
89
+ */
90
+ MessageTypes$2["SysClose"] = "sys.close";
91
+ /**
92
+ * 错误事件
93
+ */
94
+ MessageTypes$2["SysError"] = "sys.error";
95
+ /**
96
+ * 全局错误
97
+ */
98
+ MessageTypes$2["GlobalError"] = "global.error";
9
99
  /**
10
100
  * 房间列表
11
101
  */
12
- MessageTypes$1["RoomList"] = "room.list";
102
+ MessageTypes$2["RoomList"] = "room.list";
13
103
  /**
14
104
  * 房间创建
15
105
  */
16
- MessageTypes$1["RoomCreate"] = "room.create";
106
+ MessageTypes$2["RoomCreate"] = "room.create";
17
107
  /**
18
108
  * 房间更新
19
109
  */
20
- MessageTypes$1["RoomUpdate"] = "room.update";
21
- /**
22
- * 房间准备
23
- */
24
- MessageTypes$1["RoomReady"] = "room.ready";
110
+ MessageTypes$2["RoomUpdate"] = "room.update";
25
111
  /**
26
112
  * 房间开始
27
113
  */
28
- MessageTypes$1["RoomStart"] = "room.start";
114
+ MessageTypes$2["RoomStart"] = "room.start";
29
115
  /**
30
116
  * 房间结束
31
117
  */
32
- MessageTypes$1["RoomEnd"] = "room.end";
118
+ MessageTypes$2["RoomEnd"] = "room.end";
33
119
  /**
34
120
  * 房间关闭
35
121
  */
36
- MessageTypes$1["RoomClose"] = "room.close";
122
+ MessageTypes$2["RoomClose"] = "room.close";
37
123
  /**
38
124
  * 房间全部玩家已准备
39
125
  */
40
- MessageTypes$1["RoomAllReady"] = "room.all-ready";
126
+ MessageTypes$2["RoomAllReady"] = "room.all-ready";
41
127
  /**
42
128
  * 房间命令
43
129
  */
44
- MessageTypes$1["RoomCommand"] = "room.command";
130
+ MessageTypes$2["RoomCommand"] = "room.command";
131
+ /**
132
+ * 房间内玩家发送的指令
133
+ */
134
+ MessageTypes$2["RoomPlayerCommand"] = "room.player-command";
45
135
  /**
46
136
  * 房间消息
47
137
  */
48
- MessageTypes$1["RoomMessage"] = "room.message";
138
+ MessageTypes$2["RoomMessage"] = "room.message";
49
139
  /**
50
140
  * 玩家加入房间
51
141
  */
52
- MessageTypes$1["RoomJoin"] = "room.join";
142
+ MessageTypes$2["RoomJoin"] = "room.join";
53
143
  /**
54
144
  * 玩家离开房间
55
145
  */
56
- MessageTypes$1["RoomLeave"] = "room.leave";
57
- /**
58
- * 房间踢出玩家
59
- */
60
- MessageTypes$1["RoomKick"] = "room.kick";
61
- /**
62
- * 房间转移
63
- */
64
- MessageTypes$1["RoomTransfer"] = "room.transfer";
146
+ MessageTypes$2["RoomLeave"] = "room.leave";
65
147
  /**
66
148
  * 房间玩家准备
67
149
  */
68
- MessageTypes$1["RoomPlayerReady"] = "room.player-ready";
150
+ MessageTypes$2["RoomPlayerReady"] = "room.player-ready";
69
151
  /**
70
152
  * 房间玩家取消准备
71
153
  */
72
- MessageTypes$1["RoomPlayerUnready"] = "room.player-unready";
154
+ MessageTypes$2["RoomPlayerUnready"] = "room.player-unready";
73
155
  /**
74
156
  * 玩家列表
75
157
  */
76
- MessageTypes$1["PlayerList"] = "player.list";
158
+ MessageTypes$2["PlayerList"] = "player.list";
77
159
  /**
78
160
  * 玩家登录
79
161
  */
80
- MessageTypes$1["PlayerLogin"] = "player.login";
162
+ MessageTypes$2["PlayerLogin"] = "player.login";
81
163
  /**
82
164
  * 玩家登出
83
165
  */
84
- MessageTypes$1["PlayerLogout"] = "player.logout";
85
- /**
86
- * 玩家消息
87
- */
88
- MessageTypes$1["PlayerMessage"] = "player.message";
166
+ MessageTypes$2["PlayerLogout"] = "player.logout";
89
167
  /**
90
- * 玩家命令
168
+ * *玩家消息
91
169
  */
92
- MessageTypes$1["PlayerCommand"] = "player.command";
170
+ MessageTypes$2["PlayerMessage"] = "player.message";
93
171
  /**
94
- * 玩家准备
95
- */
96
- MessageTypes$1["PlayerReady"] = "player.ready";
97
- /**
98
- * 玩家取消准备
99
- */
100
- MessageTypes$1["PlayerUnready"] = "player.unready";
101
- /**
102
- * 全局命令
172
+ * *玩家命令
103
173
  */
104
- MessageTypes$1["GlobalCommand"] = "global.command";
174
+ MessageTypes$2["PlayerCommand"] = "player.command";
105
175
  /**
106
176
  * 全局消息
107
177
  */
108
- MessageTypes$1["GlobalMessage"] = "global.message";
109
- /**
110
- * 全局错误
111
- */
112
- MessageTypes$1["GlobalError"] = "global.error";
113
- return MessageTypes$1;
178
+ MessageTypes$2["GlobalMessage"] = "global.message";
179
+ return MessageTypes$2;
114
180
  }({});
115
181
 
116
182
  //#endregion
@@ -355,8 +421,9 @@ var Room = class extends EventEmitter$1 {
355
421
  "command",
356
422
  "start",
357
423
  "end",
358
- "close",
359
424
  "all-ready",
425
+ "player-unready",
426
+ "player-ready",
360
427
  "join",
361
428
  "leave"
362
429
  ].forEach((event) => {
@@ -486,30 +553,27 @@ var Tiaoom = class extends EventEmitter {
486
553
  (_this$messageInstance = this.messageInstance) === null || _this$messageInstance === void 0 || _this$messageInstance.on("message", (message, cb) => {
487
554
  try {
488
555
  switch (message.type) {
489
- case "room.list": return cb === null || cb === void 0 ? void 0 : cb(null, this.rooms);
490
- case "player.list": return cb === null || cb === void 0 ? void 0 : cb(null, this.players);
491
- case "room.create": return this.createRoom(message.sender, message.data);
492
- case "player.join": return this.joinPlayer(message.sender, message.data);
493
- case "player.leave": return this.leavePlayer(message.sender, message.data);
494
- case "room.get": return cb === null || cb === void 0 ? void 0 : cb(null, this.searchRoom(message.data));
495
- case "room.start": return this.startRoom(message.sender, message.data);
496
- case "room.kick": return this.kickPlayer(message.sender, message.data);
497
- case "room.transfer": return this.transferOwner(message.sender, message.data);
498
- case "room.close": return this.closeRoom(message.sender, message.data);
499
- case "player.login": return this.loginPlayer(message.data);
500
- case "player.logout": return this.removePlayer(message.data);
501
- case "player.ready": return this.readyPlayer(message.sender, message.data);
502
- case "player.unready": return this.unReadyPlayer(message.sender, message.data);
503
- case "room.player-command":
556
+ case MessageTypes$1.RoomList: return cb === null || cb === void 0 ? void 0 : cb(null, this.rooms);
557
+ case MessageTypes$1.PlayerList: return cb === null || cb === void 0 ? void 0 : cb(null, this.players);
558
+ case MessageTypes$1.RoomCreate: return this.createRoom(message.sender, message.data);
559
+ case MessageTypes$1.PlayerJoin: return this.joinPlayer(message.sender, message.data);
560
+ case MessageTypes$1.PlayerLeave: return this.leavePlayer(message.sender, message.data);
561
+ case MessageTypes$1.RoomGet: return cb === null || cb === void 0 ? void 0 : cb(null, this.searchRoom(message.data));
562
+ case MessageTypes$1.RoomStart: return this.startRoom(message.sender, message.data);
563
+ case MessageTypes$1.RoomKick: return this.kickPlayer(message.sender, message.data);
564
+ case MessageTypes$1.RoomTransfer: return this.transferOwner(message.sender, message.data);
565
+ case MessageTypes$1.RoomClose: return this.closeRoom(message.sender, message.data);
566
+ case MessageTypes$1.PlayerLogin: return this.loginPlayer(message.data);
567
+ case MessageTypes$1.PlayerLogout: return this.removePlayer(message.data);
568
+ case MessageTypes$1.PlayerReady: return this.readyPlayer(message.sender, message.data);
569
+ case MessageTypes$1.PlayerUnready: return this.unReadyPlayer(message.sender, message.data);
570
+ case MessageTypes$1.RoomPlayerCommand:
504
571
  var _this$searchRoom;
505
572
  return (_this$searchRoom = this.searchRoom(message.data)) === null || _this$searchRoom === void 0 ? void 0 : _this$searchRoom.emit("player-command", {
506
573
  ...message.data,
507
574
  sender: message.sender
508
575
  });
509
- case "room.message":
510
- var _this$searchRoom2;
511
- return (_this$searchRoom2 = this.searchRoom(message.data)) === null || _this$searchRoom2 === void 0 ? void 0 : _this$searchRoom2.emit("message", message.data);
512
- case "global.command": return this.emit("command", {
576
+ case MessageTypes$1.GlobalCommand: return this.emit("command", {
513
577
  ...message.data,
514
578
  sender: message.sender
515
579
  });
@@ -560,11 +624,12 @@ var Tiaoom = class extends EventEmitter {
560
624
  data: rooms
561
625
  });
562
626
  });
563
- this.on("command", (data) => {
627
+ this.on("message", (data, sender) => {
564
628
  var _this$messageInstance8;
565
629
  (_this$messageInstance8 = this.messageInstance) === null || _this$messageInstance8 === void 0 || _this$messageInstance8.send({
566
- type: MessageTypes.GlobalCommand,
567
- data
630
+ type: MessageTypes.GlobalMessage,
631
+ data,
632
+ sender
568
633
  });
569
634
  });
570
635
  return this;
@@ -692,6 +757,7 @@ var Tiaoom = class extends EventEmitter {
692
757
  ...player,
693
758
  ...roomPlayer
694
759
  });
760
+ room.emit("update", room);
695
761
  return this;
696
762
  }
697
763
  unReadyPlayer(sender, player) {
@@ -705,6 +771,7 @@ var Tiaoom = class extends EventEmitter {
705
771
  roomPlayer.isReady = false;
706
772
  playerInstance.emit("status", PlayerStatus.unready);
707
773
  room.emit("player-unready", roomPlayer);
774
+ room.emit("update", room);
708
775
  return this;
709
776
  }
710
777
  removePlayer(sender) {