aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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