From ecc7d7b912405661eb488b37c9fafe2a4f04612b Mon Sep 17 00:00:00 2001 From: Nova Date: Thu, 18 Jul 2024 10:49:50 -0400 Subject: [PATCH] feat(node): not enabled if spatial and size is 0 --- src/nodes/mod.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/nodes/mod.rs b/src/nodes/mod.rs index caeeb22..1af5a76 100644 --- a/src/nodes/mod.rs +++ b/src/nodes/mod.rs @@ -17,6 +17,7 @@ use parking_lot::Mutex; use portable_atomic::{AtomicBool, Ordering}; use rustc_hash::FxHashMap; use serde::{de::DeserializeOwned, Serialize}; +use spatial::Spatial; use stardust_xr::messenger::MessageSenderHandle; use stardust_xr::scenegraph::ScenegraphError; use stardust_xr::schemas::flex::{deserialize, serialize}; @@ -112,6 +113,15 @@ impl Node { } pub fn enabled(&self) -> bool { self.enabled.load(Ordering::Relaxed) + && if let Ok(spatial) = self.get_aspect::() { + spatial + .global_transform() + .to_scale_rotation_translation() + .0 + .length_squared() > 0.0 + } else { + true + } } pub fn set_enabled(&self, enabled: bool) { self.enabled.store(enabled, Ordering::Relaxed)