Skip to content

事件 (Events)

这里详细列出了 tiaoom 中使用的事件接口。

TiaoomEvents (服务器事件)

服务器实例 Tiaoom 触发的事件。

事件名参数描述
room(room: Room)当创建新房间时触发。
player(player: Player, isLogin: boolean)当玩家登录或登出时触发。isLogintrue 表示登录,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)房间玩家全部准备事件(内部)。