aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorWeicao-CatilGrass <1992414357@qq.com>2025-04-14 13:49:55 +0800
committerWeicao-CatilGrass <1992414357@qq.com>2025-04-14 13:49:55 +0800
commita845ce5452debc9f3bb7a674b4630e88d8382cc8 (patch)
treed4c5d8a9fe96d370abc09d444e928c29eb38bd13 /core
parent3cc364653fcadf028af9938c449f105393893443 (diff)
修改两个Message的枚举值类型
修复了遗留的 Hash 错误
Diffstat (limited to 'core')
-rw-r--r--core/src/pads_player_commands.rs28
-rw-r--r--core/src/pas_server_commands.rs36
-rw-r--r--core/test/src/bin/console_client.rs38
-rw-r--r--core/test/src/bin/console_server.rs38
4 files changed, 140 insertions, 0 deletions
diff --git a/core/src/pads_player_commands.rs b/core/src/pads_player_commands.rs
new file mode 100644
index 0000000..276805f
--- /dev/null
+++ b/core/src/pads_player_commands.rs
@@ -0,0 +1,28 @@
+use crate::pads_player::{PadClient, PlayerMessage};
+
+impl PadClient {
+
+ // TODO :: 可能需要返回是否成功
+ pub fn send_message (&self, msg: PlayerMessage) {
+
+ }
+
+ /// 按下
+ pub fn pressed (&self, btn_num: u8) {
+ self.send_message(PlayerMessage::ButtonPressed(btn_num))
+ }
+
+ /// 抬起
+ pub fn released (&self, btn_num: u8) {
+ self.send_message(PlayerMessage::ButtonReleased(btn_num))
+ }
+
+ pub fn msg (&self, msg_str: String) {
+ self.send_message(PlayerMessage::Message(msg_str))
+ }
+
+ // TODO :: 可能需要返回信息
+ pub fn cmd (&self, cmd_str: String) {
+ self.send_message(PlayerMessage::Command(cmd_str))
+ }
+} \ No newline at end of file
diff --git a/core/src/pas_server_commands.rs b/core/src/pas_server_commands.rs
new file mode 100644
index 0000000..8d15261
--- /dev/null
+++ b/core/src/pas_server_commands.rs
@@ -0,0 +1,36 @@
+use std::time::Duration;
+use crate::pads_server::{PadServer, ServerMessage};
+
+impl PadServer {
+
+ // TODO :: 可能需要返回是否成功
+ pub fn send_message (&self, player_index: i32, msg: ServerMessage) {
+
+ }
+
+ // TODO :: 可能需要返回是否成功
+ pub fn kick (&self, player_index: i32, ban: bool) {
+ self.send_message(player_index, ServerMessage::Kick);
+
+ // TODO :: 封禁模式启动
+ if ban {
+
+ }
+ }
+
+ pub fn shock (&self, player_index: i32, duration: Duration, value: f64) {
+ self.send_message(player_index, ServerMessage::Shock(duration, value));
+ }
+
+ pub fn set_ignore_control (&self, player_index: i32, ignore: bool) {
+
+ }
+
+ pub fn set_ignore_message (&self, player_index: i32, ignore: bool) {
+
+ }
+
+ pub fn set_ignore_command (&self, player_index: i32, ignore: bool) {
+
+ }
+} \ No newline at end of file
diff --git a/core/test/src/bin/console_client.rs b/core/test/src/bin/console_client.rs
new file mode 100644
index 0000000..4118ba5
--- /dev/null
+++ b/core/test/src/bin/console_client.rs
@@ -0,0 +1,38 @@
+use there_is_nopads_core::pads_player::{PadClient, PadClientEvent};
+use there_is_nopads_core::pads_server::ServerMessage;
+
+fn main() {
+ let client = PadClient::default();
+
+}
+
+struct Event;
+impl PadClientEvent for Event {
+ fn joined_game() {
+ todo!()
+ }
+
+ fn joined_game_failed() {
+ todo!()
+ }
+
+ fn left_game() {
+ todo!()
+ }
+
+ fn kicked() {
+ todo!()
+ }
+
+ fn banned() {
+ todo!()
+ }
+
+ fn disconnected() {
+ todo!()
+ }
+
+ fn msg_received(msg: ServerMessage) {
+ todo!()
+ }
+} \ No newline at end of file
diff --git a/core/test/src/bin/console_server.rs b/core/test/src/bin/console_server.rs
new file mode 100644
index 0000000..4536c74
--- /dev/null
+++ b/core/test/src/bin/console_server.rs
@@ -0,0 +1,38 @@
+use there_is_nopads_core::pads_player::{PlayerInfo, PlayerMessage};
+use there_is_nopads_core::pads_server::{PadServer, PadServerEvent};
+
+fn main() {
+ let server = PadServer::default();
+ server.start_listening(Event);
+}
+
+struct Event;
+impl PadServerEvent for Event {
+ fn server_start() {
+ todo!()
+ }
+
+ fn server_shutdown() {
+ todo!()
+ }
+
+ fn join_request_received(info: PlayerInfo) -> bool {
+ todo!()
+ }
+
+ fn player_joined(info: PlayerInfo) {
+ todo!()
+ }
+
+ fn player_left(info: PlayerInfo) {
+ todo!()
+ }
+
+ fn player_disconnected(info: PlayerInfo) {
+ todo!()
+ }
+
+ fn msg_received(info: PlayerInfo, msg: PlayerMessage) {
+ todo!()
+ }
+} \ No newline at end of file