From 9e48af01ae56fe813869ada24de291ab98b361e2 Mon Sep 17 00:00:00 2001 From: "1992414357@qq.com" <1992414357@qq.com> Date: Wed, 11 Jun 2025 19:14:04 +0800 Subject: 组合模块中 structs.rs 和 implements.rs 文件 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/data/controller/controller_data.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 core/src/data/controller/controller_data.rs (limited to 'core/src/data/controller/controller_data.rs') diff --git a/core/src/data/controller/controller_data.rs b/core/src/data/controller/controller_data.rs new file mode 100644 index 0000000..a3f1c02 --- /dev/null +++ b/core/src/data/controller/controller_data.rs @@ -0,0 +1,29 @@ +use std::sync::{Arc, Mutex}; +use crate::data::controller::controller_runtime::ControllerRuntime; +use crate::data::player::player_data::Player; + +/// Controller-side Data +/// Describes the basic information of the controller side +#[derive(Default)] +pub struct ControllerData { + + /// Player bound to the controller side + pub(crate) player: Player +} + +impl ControllerData { + + pub fn bind_player(&mut self, player: Player) -> &mut ControllerData { + self.player = player; + self + } + + /// Build the controller-side runtime using controller data + pub fn runtime(self) -> Arc> { + let runtime = ControllerRuntime { + player: self.player, + ..Default::default() + }; + Arc::new(Mutex::new(runtime)) + } +} \ No newline at end of file -- cgit