aboutsummaryrefslogtreecommitdiff
path: root/core/src/data/controller/runtime/implements.rs
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-06-09 03:26:09 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-06-09 03:26:09 +0800
commit8359c5391f1f87d1a29df94ae90d431d432bc344 (patch)
tree129101538b9cc45176e9a345583db22609134fe5 /core/src/data/controller/runtime/implements.rs
parent8db4f6af3421392fb75d4a2257d39a10bcefa493 (diff)
完成了控制台部分
Diffstat (limited to 'core/src/data/controller/runtime/implements.rs')
-rw-r--r--core/src/data/controller/runtime/implements.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/core/src/data/controller/runtime/implements.rs b/core/src/data/controller/runtime/implements.rs
index b79890e..840ea2c 100644
--- a/core/src/data/controller/runtime/implements.rs
+++ b/core/src/data/controller/runtime/implements.rs
@@ -4,6 +4,7 @@ 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
@@ -26,4 +27,33 @@ impl ControllerRuntime {
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