From c46e01e2804bc099a711d106888e4e44bc346c39 Mon Sep 17 00:00:00 2001 From: Nova Date: Thu, 26 Jan 2023 09:08:40 -0500 Subject: [PATCH] refactor: change logic_step to frame event --- src/main.rs | 2 +- src/nodes/root.rs | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main.rs b/src/main.rs index 846a012..81a794a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -185,7 +185,7 @@ fn main() -> Result<()> { right_controller.update(sk); } input::process_input(); - nodes::root::Root::logic_step(sk.time_elapsed()); + nodes::root::Root::send_frame_events(sk.time_elapsed()); { let frame_delta = Duration::from_secs_f64(sk.time_elapsed_unscaled()); if last_frame_delta < frame_delta { diff --git a/src/nodes/root.rs b/src/nodes/root.rs index 523a991..021ed3a 100644 --- a/src/nodes/root.rs +++ b/src/nodes/root.rs @@ -14,13 +14,13 @@ static ROOT_REGISTRY: Registry = Registry::new(); pub struct Root { node: Arc, - logic_step: AtomicBool, + send_frame_event: AtomicBool, } impl Root { pub fn create(client: &Arc) -> Result> { let node = Node::create(client, "", "", false); - node.add_local_signal("subscribe_logic_step", Root::subscribe_logic_step); - node.add_local_signal("set_base_prefixes", Root::set_base_prefixes); + node.add_local_signal("subscribe_frame", Root::subscribe_frame_flex); + node.add_local_signal("set_base_prefixes", Root::set_base_prefixes_flex); let node = node.add_to_scenegraph()?; let _ = Spatial::add_to( &node, @@ -35,32 +35,36 @@ impl Root { Ok(ROOT_REGISTRY.add(Root { node, - logic_step: AtomicBool::from(false), + send_frame_event: AtomicBool::from(false), })) } - fn subscribe_logic_step(_node: &Node, calling_client: Arc, _data: &[u8]) -> Result<()> { + fn subscribe_frame_flex(_node: &Node, calling_client: Arc, _data: &[u8]) -> Result<()> { calling_client .root .get() .unwrap() - .logic_step + .send_frame_event .store(true, Ordering::Relaxed); Ok(()) } #[instrument(level = "debug")] - pub fn logic_step(delta: f64) { + pub fn send_frame_events(delta: f64) { if let Ok(data) = serialize((delta, 0.0)) { for root in ROOT_REGISTRY.get_valid_contents() { - if root.logic_step.load(Ordering::Relaxed) { - let _ = root.node.send_remote_signal("logic_step", &data); + if root.send_frame_event.load(Ordering::Relaxed) { + let _ = root.node.send_remote_signal("frame", &data); } } } } - fn set_base_prefixes(_node: &Node, calling_client: Arc, data: &[u8]) -> Result<()> { + fn set_base_prefixes_flex( + _node: &Node, + calling_client: Arc, + data: &[u8], + ) -> Result<()> { *calling_client.base_resource_prefixes.lock() = deserialize(data)?; Ok(()) }