aboutsummaryrefslogtreecommitdiff
path: root/core/src/data/controller/controller_data.rs
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/data/controller/controller_data.rs')
-rw-r--r--core/src/data/controller/controller_data.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/core/src/data/controller/controller_data.rs b/core/src/data/controller/controller_data.rs
index a3f1c02..a40f49c 100644
--- a/core/src/data/controller/controller_data.rs
+++ b/core/src/data/controller/controller_data.rs
@@ -4,7 +4,7 @@ use crate::data::player::player_data::Player;
/// Controller-side Data
/// Describes the basic information of the controller side
-#[derive(Default)]
+#[derive(Default, Clone)]
pub struct ControllerData {
/// Player bound to the controller side
@@ -26,4 +26,13 @@ impl ControllerData {
};
Arc::new(Mutex::new(runtime))
}
+
+ /// Build the controller-side runtime using controller data (borrowed)
+ pub fn runtime_with_borrowed_data(&self) -> Arc<Mutex<ControllerRuntime>> {
+ let runtime = ControllerRuntime {
+ player: self.player.clone(),
+ ..Default::default()
+ };
+ Arc::new(Mutex::new(runtime))
+ }
} \ No newline at end of file