aboutsummaryrefslogtreecommitdiff
path: root/core/src/data/controller/runtime
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-06-11 19:14:04 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-06-11 19:14:04 +0800
commit9e48af01ae56fe813869ada24de291ab98b361e2 (patch)
tree82b56adecbeb260ebbf2c512d78fe2d63805eb36 /core/src/data/controller/runtime
parentaa326e69b18a4390ffbc97268eaec4793761f083 (diff)
组合模块中 structs.rs 和 implements.rs 文件
Diffstat (limited to 'core/src/data/controller/runtime')
-rw-r--r--core/src/data/controller/runtime/implements.rs58
-rw-r--r--core/src/data/controller/runtime/mod.rs2
-rw-r--r--core/src/data/controller/runtime/structs.rs21
3 files changed, 0 insertions, 81 deletions
diff --git a/core/src/data/controller/runtime/implements.rs b/core/src/data/controller/runtime/implements.rs
deleted file mode 100644
index 1f2734a..0000000
--- a/core/src/data/controller/runtime/implements.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-use std::collections::{HashMap, VecDeque};
-use std::sync::atomic::Ordering::SeqCst;
-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::service::service_types::ServiceType;
-
-/// Message manager for controller-side runtime
-/// After the service starts, it can be accessed or relevant messages can be stored.
-impl MessageManager<GameMessage, ControlMessage, u8> for ControllerRuntime {
- fn borrow_received_list_mut(&mut self) -> &mut HashMap<(ServiceType, u8), VecDeque<GameMessage>> {
- &mut self.received
- }
-
- fn borrow_send_list_mut(&mut self) -> &mut HashMap<(ServiceType, u8), VecDeque<ControlMessage>> {
- &mut self.send
- }
-}
-
-impl ControllerRuntime {
-
- pub fn close(&mut self) {
- if !self.close.load(SeqCst) {
- self.close.store(true, SeqCst);
- trace!("[Controller Runtime] Closed.");
- }
- }
-
- pub fn message(&mut self, message: String) {
- self.send_message(ControlMessage::Msg(message));
- }
-
- pub fn press_button(&mut self, key: u8) {
- self.send_message(ControlMessage::Pressed(key));
- }
-
- pub fn release_button(&mut self, key: u8) {
- self.send_message(ControlMessage::Released(key));
- }
-
- pub fn change_axis(&mut self, key: u8, ax_val: f64) {
- self.send_message(ControlMessage::Axis(key, ax_val));
- }
-
- pub fn change_direction(&mut self, key: u8, x: f64, y: f64) {
- self.send_message(ControlMessage::Dir(key, (x, y)));
- }
-
- pub fn pop(&mut self) -> Option<GameMessage> {
- self.receive(0, self.service_type.clone())
- }
-
- fn send_message (&mut self, msg: ControlMessage) {
- let service = self.service_type.clone();
- self.send(msg, 0, service);
- }
-} \ No newline at end of file
diff --git a/core/src/data/controller/runtime/mod.rs b/core/src/data/controller/runtime/mod.rs
deleted file mode 100644
index 0ff870f..0000000
--- a/core/src/data/controller/runtime/mod.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub mod implements;
-pub mod structs; \ No newline at end of file
diff --git a/core/src/data/controller/runtime/structs.rs b/core/src/data/controller/runtime/structs.rs
deleted file mode 100644
index bfd39c5..0000000
--- a/core/src/data/controller/runtime/structs.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-use std::collections::{HashMap, VecDeque};
-use std::sync::atomic::AtomicBool;
-use crate::data::game::types::GameInfo;
-use crate::data::message::enums::{ControlMessage, GameMessage};
-use crate::data::player::structs::Player;
-use crate::service::service_types::ServiceType;
-
-/// Controller-side runtime
-/// Stores all data involved in game pad_client interactions during runtime
-#[derive(Default)]
-pub struct ControllerRuntime {
-
- pub(crate) service_type: ServiceType,
- pub(crate) received: HashMap<(ServiceType, u8), VecDeque<GameMessage>>,
- pub(crate) send: HashMap<(ServiceType, u8), VecDeque<ControlMessage>>,
-
- pub(crate) player: Player,
-
- pub game_info: GameInfo,
- pub close: AtomicBool,
-} \ No newline at end of file