refactor(spatial): use clearer to understand global transform

This commit is contained in:
Nova
2024-02-06 09:00:21 -05:00
parent af3d49c9ef
commit b34e5f7a19

View File

@@ -116,10 +116,12 @@ impl Spatial {
*self.transform.lock() *self.transform.lock()
} }
pub fn global_transform(&self) -> Mat4 { pub fn global_transform(&self) -> Mat4 {
match self.get_parent() { let parent_transform = self
Some(parent) => parent.global_transform() * *self.transform.lock(), .get_parent()
None => *self.transform.lock(), .as_deref()
} .map(Self::global_transform)
.unwrap_or_default();
parent_transform * self.local_transform()
} }
pub fn set_local_transform(&self, transform: Mat4) { pub fn set_local_transform(&self, transform: Mat4) {
*self.transform.lock() = transform; *self.transform.lock() = transform;