refactor: use typemap for aspects!
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use crate::nodes::alias::Alias;
|
||||
use crate::nodes::Node;
|
||||
use crate::{core::client::Client, nodes::Message};
|
||||
use color_eyre::eyre::Result;
|
||||
@@ -39,7 +40,7 @@ impl Scenegraph {
|
||||
|
||||
pub fn get_node(&self, path: &str) -> Option<Arc<Node>> {
|
||||
let mut node = self.nodes.lock().get(path)?.clone();
|
||||
while let Some(alias) = node.alias.get() {
|
||||
while let Ok(alias) = node.get_aspect::<Alias>() {
|
||||
if alias.enabled.load(Ordering::Acquire) {
|
||||
node = alias.original.upgrade()?;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user