fix(pulse sender): add aspect to node
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
|
use super::data::PulseSender;
|
||||||
use super::field::Field;
|
use super::field::Field;
|
||||||
|
use super::spatial::Spatial;
|
||||||
use crate::core::client::Client;
|
use crate::core::client::Client;
|
||||||
use crate::nodes::spatial::Spatial;
|
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use std::rc::{Rc, Weak};
|
use std::rc::{Rc, Weak};
|
||||||
|
use std::sync::Arc;
|
||||||
use std::{collections::HashMap, vec::Vec};
|
use std::{collections::HashMap, vec::Vec};
|
||||||
|
|
||||||
pub type Signal = fn(&Node, Rc<Client>, &[u8]) -> Result<()>;
|
pub type Signal = fn(&Node, Rc<Client>, &[u8]) -> Result<()>;
|
||||||
@@ -18,6 +20,7 @@ pub struct Node<'a> {
|
|||||||
|
|
||||||
pub spatial: Option<Rc<Spatial>>,
|
pub spatial: Option<Rc<Spatial>>,
|
||||||
pub field: Option<Rc<Field>>,
|
pub field: Option<Rc<Field>>,
|
||||||
|
pub pulse_sender: Option<Arc<PulseSender>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Node<'a> {
|
impl<'a> Node<'a> {
|
||||||
@@ -45,8 +48,10 @@ impl<'a> Node<'a> {
|
|||||||
local_signals: HashMap::new(),
|
local_signals: HashMap::new(),
|
||||||
local_methods: HashMap::new(),
|
local_methods: HashMap::new(),
|
||||||
destroyable,
|
destroyable,
|
||||||
|
|
||||||
spatial: None,
|
spatial: None,
|
||||||
field: None,
|
field: None,
|
||||||
|
pulse_sender: None,
|
||||||
};
|
};
|
||||||
node.add_local_signal("destroy", Node::destroy_flex);
|
node.add_local_signal("destroy", Node::destroy_flex);
|
||||||
node
|
node
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ impl PulseSender {
|
|||||||
.upgrade()
|
.upgrade()
|
||||||
.and_then(|event_loop| event_loop.pulse_senders.add(sender.clone()).ok());
|
.and_then(|event_loop| event_loop.pulse_senders.add(sender.clone()).ok());
|
||||||
*sender.registry_idx.write().unwrap() = idx;
|
*sender.registry_idx.write().unwrap() = idx;
|
||||||
|
node.borrow_mut().pulse_sender = Some(sender);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user