diff options
| author | Weicao-CatilGrass <1992414357@qq.com> | 2025-04-14 13:54:21 +0800 |
|---|---|---|
| committer | Weicao-CatilGrass <1992414357@qq.com> | 2025-04-14 13:54:21 +0800 |
| commit | b0090fce83ae439437b711f3c087f926cd95223d (patch) | |
| tree | 54c02d59ee1cc2c782d868aec5cb1ab18cb0f7bf | |
| parent | 32260bcd6e744b24f29f7c0eeab294ab9d58e23d (diff) | |
修复了 pads_server.rs 中的数个bug,并且将事件命名变得更加合理了
| -rw-r--r-- | core/src/pads_server.rs (renamed from core/src/server.rs) | 87 |
1 files changed, 44 insertions, 43 deletions
diff --git a/core/src/server.rs b/core/src/pads_server.rs index 8100b74..71f9acd 100644 --- a/core/src/server.rs +++ b/core/src/pads_server.rs @@ -1,17 +1,45 @@ -use crate::layouts::GamepadLayout; -use crate::player::{PlayerInfo, PlayerMessage}; +use std::time::Duration; +use crate::pads_player::{PlayerInfo, PlayerMessage}; -/// # PhantomLink 监听服务器 +/// # 监听服务器 /// 监听服务器用于连接玩家设备,并接收玩家的按键输入 -pub struct PLServer { +pub struct PadServer { server_name: &'static str, - port: u16, - layout: GamepadLayout + port: u16 } -/// # PhantomLink 监听服务器事件 +impl Default for PadServer { + + /// # 使用默认布局部署服务器 + /// 创建一个使用默认布局的服务器 + fn default() -> Self { + PadServer { + server_name: "This Is No Pads", + port: 8916 + // TODO :: 补充布局文件 + } + } +} + +impl PadServer { + + /// # 开始监听服务器 + /// self : 服务器 + /// event : 事件 + pub fn start_listening(&self, event : impl PadServerEvent) { + + } + + /// # 停止监听服务器 + /// self : 服务器 + pub fn stop_listening(&self) { + + } +} + +/// # 监听服务器事件 /// 服务器运行过程中的信息将会发送到该 Event Trait -pub trait PLServerEvent { +pub trait PadServerEvent { /// 服务器启动时 fn server_start(); @@ -22,7 +50,7 @@ pub trait PLServerEvent { /// 玩家加入请求 /// info : 玩家信息 /// return -> 是否允许加入服务器 - fn request_received(info: PlayerInfo) -> bool; + fn join_request_received(info: PlayerInfo) -> bool; /// 玩家加入游戏 /// info : 玩家信息 @@ -42,39 +70,12 @@ pub trait PLServerEvent { fn msg_received(info: PlayerInfo, msg: PlayerMessage); } -impl Default for PLServer { - /// # 使用默认布局部署服务器 - /// 创建一个使用默认布局的服务器 - fn default() -> Self { - PLServer { - server_name: "PhantomLink Layout", - port: 8916, - layout: GamepadLayout::PhantomLinkGamepad - } - } -} +/// # 监听服务器消息 +/// 监听服务器用于向玩家发送指令 +pub enum ServerMessage { + Command(String), + Animation(String), + Shock(Duration, f64), + Kick, -impl PLServer { - /// # 使用 Xbox 布局部署服务器 - /// 创建一个使用 Xbox 布局的服务器 - pub fn xbox_layout() -> Self { - PLServer { - server_name: "Xbox Layout", - port: 8916, - layout: GamepadLayout::Xbox - } - } - - /// # 开始监听服务器 - /// self : 服务器 - /// event : 事件 - pub fn start_listening(&self, event : impl PLServerEvent) { - - } - - /// # 停止监听服务器 - /// self : 服务器 - pub fn stop_listening(&self) { - - } }
\ No newline at end of file |
