From c8ece4c62b6f8b5165de4d9d38a467bbc1e94a53 Mon Sep 17 00:00:00 2001 From: "1992414357@qq.com" <1992414357@qq.com> Date: Mon, 9 Jun 2025 10:29:05 +0800 Subject: 修改了导出脚本 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/Cargo.toml | 1 - core/examples/connect.rs | 5 ++++- core/src/data/controller/runtime/implements.rs | 1 - core/src/data/game/runtime/implements.rs | 4 ++-- core/src/service/cli_addition/runtime_consoles.rs | 10 +++++++--- core/src/service/tcp_network/pad_server/implements.rs | 2 +- 6 files changed, 14 insertions(+), 9 deletions(-) (limited to 'core') diff --git a/core/Cargo.toml b/core/Cargo.toml index f943cb7..6758217 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -13,7 +13,6 @@ serde = { version = "1.0.219", features = ["derive"] } clap = { version = "4.5.38", features = ["derive"] } sha1 = "0.10.6" log = "0.4.27" -prettytable-rs = "0.10.0" shell-words = "1.1.0" [lib] diff --git a/core/examples/connect.rs b/core/examples/connect.rs index c367787..1fd9bca 100644 --- a/core/examples/connect.rs +++ b/core/examples/connect.rs @@ -4,6 +4,7 @@ use nogamepads::logger_utils::logger_build; use nogamepads_core::data::controller::structs::ControllerData; use nogamepads_core::data::player::structs::Player; use nogamepads_core::service::tcp_network::pad_client::structs::PadClientNetwork; +use nogamepads_core::service::tcp_network::utils::tokio_utils::build_tokio_runtime; fn main () { logger_build(Trace); @@ -21,5 +22,7 @@ fn main () { let runtime = controller.runtime(); let client = PadClientNetwork::build(Arc::clone(&runtime)); - client.connect(); + // client.connect(); + // or + build_tokio_runtime("Tokio Runtime".to_string()).block_on(client.build_entry()) } \ No newline at end of file diff --git a/core/src/data/controller/runtime/implements.rs b/core/src/data/controller/runtime/implements.rs index 840ea2c..1f2734a 100644 --- a/core/src/data/controller/runtime/implements.rs +++ b/core/src/data/controller/runtime/implements.rs @@ -4,7 +4,6 @@ use log::trace; use crate::data::controller::runtime::structs::ControllerRuntime; use crate::data::message::enums::{ControlMessage, GameMessage}; use crate::data::message::traits::MessageManager; -use crate::data::player::structs::Account; use crate::service::service_types::ServiceType; /// Message manager for controller-side runtime diff --git a/core/src/data/game/runtime/implements.rs b/core/src/data/game/runtime/implements.rs index 43a7dee..22b6a5d 100644 --- a/core/src/data/game/runtime/implements.rs +++ b/core/src/data/game/runtime/implements.rs @@ -198,10 +198,10 @@ impl GameRuntimeData { let key = (service_type, player.account.clone()); let get_received = self.received.get_mut(&key); let get_send = self.send.get_mut(&key); - if let Some(mut list) = get_received { + if let Some(list) = get_received { list.clear(); } - if let Some(mut list) = get_send { + if let Some(list) = get_send { list.clear(); } diff --git a/core/src/service/cli_addition/runtime_consoles.rs b/core/src/service/cli_addition/runtime_consoles.rs index 76ff20c..38d8404 100644 --- a/core/src/service/cli_addition/runtime_consoles.rs +++ b/core/src/service/cli_addition/runtime_consoles.rs @@ -1,6 +1,7 @@ use crate::service::cli_addition::utils::read_cli; use clap::{Command, FromArgMatches}; use std::sync::{Arc, Mutex}; +use log::info; use tokio::{join, spawn}; use crate::service::service_runner::NoGamepadsService; @@ -9,14 +10,14 @@ where Cmd: FromArgMatches { command: Command, prefix: String, service: Arc>, - process_command: fn(Arc>, Cmd), + process_command: fn(Arc>, Cmd) -> bool, } impl RuntimeConsole { pub fn build(command: Command, prefix: String, service: Arc>, - process_command: fn(Arc>, Cmd), + process_command: fn(Arc>, Cmd) -> bool, ) -> RuntimeConsole { RuntimeConsole { command, prefix, service, process_command } } @@ -52,9 +53,12 @@ impl RuntimeConsole

{} Some(cmd) => { - (self.process_command)(Arc::clone(&self.service), cmd); + if !(self.process_command)(Arc::clone(&self.service), cmd) { + break; + } } } } + info!("[Console] Shutdown.") } } \ No newline at end of file diff --git a/core/src/service/tcp_network/pad_server/implements.rs b/core/src/service/tcp_network/pad_server/implements.rs index c4d8cfc..d4288bf 100644 --- a/core/src/service/tcp_network/pad_server/implements.rs +++ b/core/src/service/tcp_network/pad_server/implements.rs @@ -5,7 +5,7 @@ use std::time::Duration; use log::{error, info, trace, warn}; use tokio::{join, select, spawn}; use tokio::net::{TcpListener, TcpStream}; -use tokio::sync::watch::{channel, Receiver, Sender}; +use tokio::sync::watch::{channel}; use tokio::time::sleep; use nogamepads::entry_mutex; use crate::data::game::runtime::structs::GameRuntime; -- cgit