tiaoom 0.0.11 → 0.0.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.
package/src/index.d.cts CHANGED
@@ -20,24 +20,30 @@ interface BaseEvents {
20
20
  */
21
21
  error: (error: Error) => void;
22
22
  }
23
+ /**
24
+ * 基础事件定义(Emitter 版本)
25
+ */
26
+ interface BaseEmitterEvents {
27
+ /**
28
+ * 服务初始化回调
29
+ */
30
+ ready: [];
31
+ /**
32
+ * 服务关闭回调
33
+ */
34
+ close: [];
35
+ /**
36
+ * 错误回调
37
+ * @param {Error} error 错误信息
38
+ */
39
+ error: [error: Error];
40
+ }
23
41
  //#endregion
24
42
  //#region lib/events/player.d.ts
25
43
  /**
26
44
  * 玩家事件定义
27
45
  */
28
46
  interface PlayerEvents extends BaseEvents {
29
- /**
30
- * 加入房间
31
- * @param {Room} room 房间信息
32
- * @param {Player} player 玩家信息
33
- **/
34
- join: (room: Room, player: Player) => void;
35
- /**
36
- * 离开房间
37
- * @param {Room} room 房间信息
38
- * @param {Player} player 玩家信息
39
- **/
40
- leave: (room: Room, player: Player) => void;
41
47
  /**
42
48
  * 玩家状态变化
43
49
  * @param {PlayerStatus} status 玩家状态
@@ -45,9 +51,9 @@ interface PlayerEvents extends BaseEvents {
45
51
  status: (status: PlayerStatus) => void;
46
52
  /**
47
53
  * 玩家命令
48
- * @param {MessagePackage} message 命令内容
54
+ * @param {IMessagePackage} message 命令内容
49
55
  */
50
- command: (message: MessagePackage) => void;
56
+ command: (message: any) => void;
51
57
  /**
52
58
  * 玩家私信
53
59
  * @param {string} data 消息内容
@@ -60,7 +66,7 @@ interface PlayerEvents extends BaseEvents {
60
66
  /**
61
67
  * 玩家选项接口
62
68
  */
63
- interface PlayerOptions {
69
+ interface IPlayerOptions {
64
70
  /**
65
71
  * 玩家ID
66
72
  */
@@ -102,7 +108,7 @@ declare enum PlayerStatus {
102
108
  /**
103
109
  * 玩家接口
104
110
  */
105
- interface IPlayer extends PlayerOptions {
111
+ interface IPlayer extends IPlayerOptions {
106
112
  /**
107
113
  * 玩家状态
108
114
  */
@@ -136,7 +142,7 @@ declare class Player extends EventEmitter$1 implements IPlayer {
136
142
  name,
137
143
  attributes,
138
144
  sender
139
- }: PlayerOptions);
145
+ }: IPlayerOptions);
140
146
  toJSON(): {
141
147
  id: string;
142
148
  name: string;
@@ -155,60 +161,153 @@ declare class Player extends EventEmitter$1 implements IPlayer {
155
161
  //#region lib/models/message.d.ts
156
162
  /**
157
163
  * 消息包类型枚举
164
+ * player: 'command', 'message', 'join', 'leave', 'status'
158
165
  */
159
166
  declare enum MessageTypes {
167
+ /**
168
+ * 房间列表
169
+ */
160
170
  RoomList = "room.list",
171
+ /**
172
+ * 房间创建
173
+ */
161
174
  RoomCreate = "room.create",
175
+ /**
176
+ * 房间更新
177
+ */
178
+ RoomUpdate = "room.update",
179
+ /**
180
+ * 房间准备
181
+ */
162
182
  RoomReady = "room.ready",
183
+ /**
184
+ * 房间开始
185
+ */
163
186
  RoomStart = "room.start",
187
+ /**
188
+ * 房间结束
189
+ */
164
190
  RoomEnd = "room.end",
191
+ /**
192
+ * 房间关闭
193
+ */
165
194
  RoomClose = "room.close",
166
- RoomAllReady = "room.allready",
195
+ /**
196
+ * 房间全部玩家已准备
197
+ */
198
+ RoomAllReady = "room.all-ready",
199
+ /**
200
+ * 房间命令
201
+ */
167
202
  RoomCommand = "room.command",
203
+ /**
204
+ * 房间消息
205
+ */
168
206
  RoomMessage = "room.message",
169
- PlayerOffline = "player.offline",
207
+ /**
208
+ * 玩家加入房间
209
+ */
210
+ RoomJoin = "room.join",
211
+ /**
212
+ * 玩家离开房间
213
+ */
214
+ RoomLeave = "room.leave",
215
+ /**
216
+ * 房间踢出玩家
217
+ */
218
+ RoomKick = "room.kick",
219
+ /**
220
+ * 房间转移
221
+ */
222
+ RoomTransfer = "room.transfer",
223
+ /**
224
+ * 房间玩家准备
225
+ */
226
+ RoomPlayerReady = "room.player-ready",
227
+ /**
228
+ * 房间玩家取消准备
229
+ */
230
+ RoomPlayerUnready = "room.player-unready",
231
+ /**
232
+ * 玩家列表
233
+ */
170
234
  PlayerList = "player.list",
235
+ /**
236
+ * 玩家登录
237
+ */
171
238
  PlayerLogin = "player.login",
239
+ /**
240
+ * 玩家登出
241
+ */
172
242
  PlayerLogout = "player.logout",
173
- PlayerJoin = "player.join",
174
- PlayerLeave = "player.leave",
243
+ /**
244
+ * 玩家消息
245
+ */
246
+ PlayerMessage = "player.message",
247
+ /**
248
+ * 玩家命令
249
+ */
250
+ PlayerCommand = "player.command",
251
+ /**
252
+ * 玩家准备
253
+ */
175
254
  PlayerReady = "player.ready",
255
+ /**
256
+ * 玩家取消准备
257
+ */
176
258
  PlayerUnready = "player.unready",
177
- PlayerCommand = "player.command",
259
+ /**
260
+ * 全局命令
261
+ */
262
+ GlobalCommand = "global.command",
263
+ /**
264
+ * 全局消息
265
+ */
266
+ GlobalMessage = "global.message",
267
+ /**
268
+ * 全局错误
269
+ */
270
+ GlobalError = "global.error",
178
271
  }
179
272
  /**
180
273
  * 消息包接口
181
274
  */
182
- interface MessagePackage {
275
+ interface IMessagePackage {
183
276
  /**
184
277
  * 消息类型
185
278
  */
186
- type: MessageTypes | string;
279
+ type: MessageTypes;
187
280
  /**
188
281
  * 消息数据
189
282
  */
190
- data?: PlayerOptions | IRoomOptions | IPlayer | IRoom | IRoomPlayer | any;
283
+ data?: IPlayerOptions | IRoomOptions | IPlayer | IRoom | IRoomPlayer | any;
191
284
  /**
192
- * 消息发送者
285
+ * 发送者信息
193
286
  */
194
- sender?: IPlayer | IRoom | IRoomPlayer;
287
+ sender?: IPlayer | IRoomPlayer | IRoom;
288
+ }
289
+ /**
290
+ * 消息数据接口,包含发送者信息
291
+ */
292
+ interface IMessageData extends IMessagePackage {
293
+ sender: IPlayer | IRoomPlayer | IRoom;
195
294
  }
196
295
  /**
197
296
  * 消息通信接口
198
297
  */
199
- interface Message extends EventEmitter$1 {
298
+ interface IMessage extends EventEmitter$1<IMessageEmitterEvents> {
200
299
  /**
201
300
  * 监听消息事件
202
301
  * @param event 事件名,具体见 MessageEvents
203
302
  * @param listener 监听器
204
303
  */
205
- on<K extends keyof MessageEvents>(event: K, listener: MessageEvents[K]): this;
304
+ on<K extends keyof IMessageEvents>(event: K, listener: IMessageEvents[K]): this;
206
305
  /**
207
306
  * 触发消息事件
208
307
  * @param event 事件名,具体见 MessageEvents
209
308
  * @param args 参数
210
309
  */
211
- emit<K extends keyof MessageEvents>(event: K, ...args: Parameters<MessageEvents[K]>): boolean;
310
+ emit<K extends keyof IMessageEvents>(event: K, ...args: Parameters<IMessageEvents[K]>): boolean;
212
311
  /**
213
312
  * 关闭连接
214
313
  */
@@ -217,20 +316,31 @@ interface Message extends EventEmitter$1 {
217
316
  * 发送消息包
218
317
  * @param message 消息包
219
318
  */
220
- send(message: MessagePackage): void;
319
+ send(message: IMessagePackage): void;
221
320
  }
222
321
  //#endregion
223
322
  //#region lib/events/message.d.ts
224
323
  /**
225
324
  * 消息事件定义
226
325
  */
227
- interface MessageEvents extends BaseEvents {
326
+ interface IMessageEvents extends BaseEvents {
327
+ /**
328
+ * 服务接收数据
329
+ * @param {IMessagePackage} data 消息数据
330
+ * @param {(...params:any) => any} [cb] 回调函数
331
+ */
332
+ message: (data: IMessageData, cb?: (...params: any) => any) => void;
333
+ }
334
+ /**
335
+ * 消息事件定义(Emitter 版本)
336
+ */
337
+ interface IMessageEmitterEvents extends BaseEmitterEvents {
228
338
  /**
229
339
  * 服务接收数据
230
- * @param {MessagePackage} data 消息数据
340
+ * @param {IMessagePackage} data 消息数据
231
341
  * @param {(...params:any) => any} [cb] 回调函数
232
342
  */
233
- message: (data: MessagePackage, cb?: (...params: any) => any) => void;
343
+ message: [data: IMessageData, cb?: (...params: any) => any];
234
344
  }
235
345
  //#endregion
236
346
  //#region lib/events/room.d.ts
@@ -260,14 +370,14 @@ interface RoomEvents extends BaseEvents {
260
370
  message: (data: string) => void;
261
371
  /**
262
372
  * 玩家发送的房间命令
263
- * @param {MessagePackage} message 命令内容
373
+ * @param {IMessagePackage} message 命令内容
264
374
  */
265
- 'player-command': (message: MessagePackage) => void;
375
+ 'player-command': (message: IMessagePackage) => void;
266
376
  /**
267
377
  * 房间命令
268
- * @param {MessagePackage} message 命令内容
378
+ * @param {IMessagePackage} message 命令内容
269
379
  */
270
- command: (message: MessagePackage) => void;
380
+ command: (message: any) => void;
271
381
  /**
272
382
  * 房间更新
273
383
  * @param {IRoom} room 房间信息
@@ -292,7 +402,7 @@ interface RoomEvents extends BaseEvents {
292
402
  * 房间开始游戏
293
403
  * @param {IRoom} room 房间信息
294
404
  */
295
- start: (room: IRoom) => void;
405
+ start: (room: IRoom, sender: IRoomPlayer) => void;
296
406
  /**
297
407
  * 房间结束游戏
298
408
  * @param {IRoom} room 房间信息
@@ -408,7 +518,7 @@ interface IRoom extends IRoomOptions {
408
518
  /**
409
519
  * 房间玩家选项接口
410
520
  */
411
- interface IRoomPlayerOptions extends PlayerOptions {
521
+ interface IRoomPlayerOptions extends IPlayerOptions {
412
522
  /**
413
523
  * 房间Id
414
524
  */
@@ -559,7 +669,7 @@ declare class Room extends EventEmitter$1 implements IRoom {
559
669
  /**
560
670
  * 开始游戏
561
671
  */
562
- start(): boolean;
672
+ start(sender: IPlayer): boolean;
563
673
  /**
564
674
  * 结束游戏
565
675
  */
@@ -573,12 +683,12 @@ declare class Room extends EventEmitter$1 implements IRoom {
573
683
  //#endregion
574
684
  //#region lib/index.d.ts
575
685
  interface ITiaoomOptions {
576
- socket: Message;
686
+ socket: IMessage;
577
687
  }
578
688
  declare class Tiaoom extends EventEmitter {
579
689
  rooms: Room[];
580
690
  players: Player[];
581
- messageInstance?: Message;
691
+ messageInstance?: IMessage;
582
692
  constructor({
583
693
  socket
584
694
  }: ITiaoomOptions);
@@ -586,7 +696,7 @@ declare class Tiaoom extends EventEmitter {
586
696
  emit<K extends keyof TiaoomEvents>(event: K, ...args: Parameters<TiaoomEvents[K]>): boolean;
587
697
  run(): this;
588
698
  searchPlayer(player: string): Player | undefined;
589
- searchPlayer(player: PlayerOptions | IRoomPlayerOptions): Player | undefined;
699
+ searchPlayer(player: IPlayerOptions | IRoomPlayerOptions): Player | undefined;
590
700
  searchRoom(room: string): Room | undefined;
591
701
  searchRoom(room: Partial<IRoomOptions>): Room | undefined;
592
702
  createRoom(sender: IPlayer, options: IRoomOptions): Room;
@@ -600,7 +710,7 @@ declare class Tiaoom extends EventEmitter {
600
710
  roomId: string;
601
711
  playerId: string;
602
712
  }): Room | undefined;
603
- loginPlayer(player: PlayerOptions, cb?: (data: {
713
+ loginPlayer(player: IPlayerOptions, cb?: (data: {
604
714
  player: Player;
605
715
  }) => void): Player;
606
716
  joinPlayer(sender: IPlayer, player: IRoomPlayerOptions, isCreator?: boolean): RoomPlayer;
@@ -610,5 +720,5 @@ declare class Tiaoom extends EventEmitter {
610
720
  removePlayer(sender: IPlayer): Player;
611
721
  }
612
722
  //#endregion
613
- export { IPlayer, IRoom, IRoomOptions, IRoomPlayer, IRoomPlayerOptions, ITiaoomOptions, Message, MessageEvents, MessagePackage, MessageTypes, Player, PlayerEvents, PlayerOptions, PlayerRole, PlayerStatus, Room, RoomEvents, RoomPlayer, RoomStatus, Tiaoom, TiaoomEvents };
723
+ export { IMessage, IMessageData, IMessageEmitterEvents, IMessageEvents, IMessagePackage, IPlayer, IPlayerOptions, IRoom, IRoomOptions, IRoomPlayer, IRoomPlayerOptions, ITiaoomOptions, MessageTypes, Player, PlayerEvents, PlayerRole, PlayerStatus, Room, RoomEvents, RoomPlayer, RoomStatus, Tiaoom, TiaoomEvents };
614
724
  //# sourceMappingURL=index.d.cts.map