use crate::messages::PlayerMessage; use crate::player::player_info::PlayerInfo; /// # 监听服务器事件 /// 服务器运行过程中的信息将会发送到该 Event Trait pub trait PadServerEvent { /// 服务器启动时 fn server_start(); /// 服务器关闭时 fn server_shutdown(); /// 玩家加入请求 /// info : 玩家信息 /// return -> 是否允许加入服务器 fn join_request_received(info: PlayerInfo) -> bool; /// 玩家加入游戏 /// info : 玩家信息 fn player_joined(info: PlayerInfo); /// 玩家离开游戏 /// info : 玩家信息 fn player_left(info: PlayerInfo); /// 玩家断开连接 /// info : 玩家信息 fn player_disconnected(info: PlayerInfo); /// 接收到消息 /// info : 玩家信息 /// msg : 接受的消息 fn msg_received(info: PlayerInfo, msg: PlayerMessage); }