From 3ef45a1041a4fbf9b37c8b2ce6e1484edc6056be Mon Sep 17 00:00:00 2001 From: Nova Date: Sat, 11 Jun 2022 23:52:13 -0400 Subject: [PATCH] fix(pulse sender): add aspect to node --- src/nodes/core.rs | 7 ++++++- src/nodes/data.rs | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/nodes/core.rs b/src/nodes/core.rs index 00f3a59..dfe8ded 100644 --- a/src/nodes/core.rs +++ b/src/nodes/core.rs @@ -1,8 +1,10 @@ +use super::data::PulseSender; use super::field::Field; +use super::spatial::Spatial; use crate::core::client::Client; -use crate::nodes::spatial::Spatial; use anyhow::{anyhow, Result}; use std::rc::{Rc, Weak}; +use std::sync::Arc; use std::{collections::HashMap, vec::Vec}; pub type Signal = fn(&Node, Rc, &[u8]) -> Result<()>; @@ -18,6 +20,7 @@ pub struct Node<'a> { pub spatial: Option>, pub field: Option>, + pub pulse_sender: Option>, } impl<'a> Node<'a> { @@ -45,8 +48,10 @@ impl<'a> Node<'a> { local_signals: HashMap::new(), local_methods: HashMap::new(), destroyable, + spatial: None, field: None, + pulse_sender: None, }; node.add_local_signal("destroy", Node::destroy_flex); node diff --git a/src/nodes/data.rs b/src/nodes/data.rs index ba04fcc..6098745 100644 --- a/src/nodes/data.rs +++ b/src/nodes/data.rs @@ -27,6 +27,7 @@ impl PulseSender { .upgrade() .and_then(|event_loop| event_loop.pulse_senders.add(sender.clone()).ok()); *sender.registry_idx.write().unwrap() = idx; + node.borrow_mut().pulse_sender = Some(sender); Ok(()) } }