事件 (Events)
这里详细列出了 tiaoom 中使用的事件接口。
TiaoomEvents (服务器事件)
服务器实例 Tiaoom 触发的事件。
| 事件名 | 参数 | 描述 |
|---|---|---|
room | (room: Room) | 当创建新房间时触发。 |
player | (player: Player, isLogin: boolean) | 当玩家登录或登出时触发。isLogin 为 true 表示登录,false 表示登出。 |
room-player | (room: Room) | 当房间内的玩家状态发生变化(加入、离开、准备等)时触发。 |
rooms | (rooms: Room[]) | 当房间列表发生变化时触发。 |
command | (data: any & { sender: Player }) | 全局命令事件。 |
message | (data: string, sender?: Player) | 全局聊天事件。 |
RoomEvents (房间事件)
房间实例 Room 触发的事件。
| 事件名 | 参数 | 描述 |
|---|---|---|
join | (player: IRoomPlayer) | 当玩家加入房间时触发。 |
leave | (player: IRoomPlayer) | 当玩家离开房间时触发。 |
ready | (player: IRoomPlayer) | 当玩家准备时触发。 |
unready | (player: IRoomPlayer) | 当玩家取消准备时触发。 |
start | (room: IRoom, sender: IRoomPlayer) | 当房间开始游戏时触发。 |
end | (room: IRoom) | 当房间关闭时触发。 |
message | (data: string, sender?: IRoomPlayer) | 当房间收到消息时触发。 |
player-command | (message: IMessagePackage) | 玩家发送的房间命令。 |
command | (message: any) | 房间命令。 |
update | (room: IRoom) | 房间更新。 |
player-ready | (player: IRoomPlayer) | 当玩家准备时触发(包含玩家信息)。 |
player-unready | (player: IRoomPlayer) | 当玩家取消准备时触发(包含玩家信息)。 |
all-ready | (players: IRoomPlayer[]) | 当房间内所有玩家都已准备时触发。 |
PlayerEvents (玩家事件)
玩家实例 Player 触发的事件。
| 事件名 | 参数 | 描述 |
|---|---|---|
status | (status: PlayerStatus) | 当玩家状态发生变化时触发。 |
message | (message: any) | 当玩家收到消息时触发。 |
MessageEvents (消息事件)
消息实例 Message 触发的事件。
| 事件名 | 参数 | 描述 |
|---|---|---|
message | (message: IMessageData) | 当收到消息包时触发。 |
ready | () | 当连接建立完成时触发。 |
close | () | 当连接关闭时触发。 |
error | (error: Error) | 当发生错误时触发。 |
TiaoomEvents (客户端事件)
客户端实例 Tiaoom 触发的事件。
| 事件名 | 参数 | 描述 |
|---|---|---|
sys.ready | () | 连接准备就绪事件。 |
sys.error | (error: any) | 连接错误事件。 |
sys.close | () | 连接关闭事件。 |
global.error | (error: Error) | 全局错误事件。 |
global.command | (data: any & { sender: Player }) | 全局命令事件。 |
player.list | (players: Player[]) | 玩家列表更新事件。 |
player.login | (player: Player) | 玩家登录事件。 |
player.logout | (player: Player) | 玩家登出事件。 |
player.status | (player: Player, status: string, roomId?: string) | 玩家状态更新事件。 |
player.command | (command: any & { sender: Player }) | 玩家命令事件。 |
player.message | (message: string, sender?: Player) | 玩家消息事件。 |
room.list | (rooms: Room[]) | 房间列表更新事件。 |
room.create | (room: Room) | 房间创建事件。 |
room.update | (room: Room) | 房间更新事件。 |
room.close | (room: Room) | 房间关闭事件。 |
room.join | (room: Room, player: Player) | 玩家加入房间事件。 |
room.leave | (room: Room, player: Player) | 玩家离开房间事件。 |
room.start | (room: Room) | 房间开始游戏事件。 |
room.end | (room: Room) | 房间结束游戏事件。 |
room.all-ready | (room: Room) | 房间玩家全部准备事件。 |
room.command | (command: any & { sender: Player }) | 房间命令事件。 |
room.message | (message: string, sender?: IRoomPlayer) | 房间消息事件。 |
room.player-ready | (player: Player, roomId?: string) | 房间玩家准备事件。 |
room.player-unready | (player: Player, roomId?: string) | 房间玩家取消准备事件。 |
onPlayerList | (players: Player[]) | 玩家列表更新事件(内部)。 |
onRoomList | (rooms: Room[]) | 房间列表更新事件(内部)。 |
onRoomStart | (room: Room) | 房间开始游戏事件(内部)。 |
onRoomEnd | (room: Room) | 房间结束游戏事件(内部)。 |
onRoomAllReady | (room: Room) | 房间玩家全部准备事件(内部)。 |