aboutsummaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-06-09 10:29:05 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-06-09 10:29:05 +0800
commitc8ece4c62b6f8b5165de4d9d38a467bbc1e94a53 (patch)
treea23115fef3cee8a888e43c0c245ad63d6526296f /core/src
parent7093b08b8efd6e35a434b2923c40b763b51e675b (diff)
修改了导出脚本
Diffstat (limited to 'core/src')
-rw-r--r--core/src/data/controller/runtime/implements.rs1
-rw-r--r--core/src/data/game/runtime/implements.rs4
-rw-r--r--core/src/service/cli_addition/runtime_consoles.rs10
-rw-r--r--core/src/service/tcp_network/pad_server/implements.rs2
4 files changed, 10 insertions, 7 deletions
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<Mutex<PadService>>,
- process_command: fn(Arc<Mutex<PadService>>, Cmd),
+ process_command: fn(Arc<Mutex<PadService>>, Cmd) -> bool,
}
impl<PadService: Send + 'static, Cmd: FromArgMatches + 'static> RuntimeConsole<PadService, Cmd> {
pub fn build(command: Command,
prefix: String,
service: Arc<Mutex<PadService>>,
- process_command: fn(Arc<Mutex<PadService>>, Cmd),
+ process_command: fn(Arc<Mutex<PadService>>, Cmd) -> bool,
) -> RuntimeConsole<PadService, Cmd> {
RuntimeConsole { command, prefix, service, process_command }
}
@@ -52,9 +53,12 @@ impl<PadService: Send + 'static, Cmd: FromArgMatches + 'static> RuntimeConsole<P
match option {
None => {}
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;