aboutsummaryrefslogtreecommitdiff
path: root/src/classes/transform.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/classes/transform.rs')
-rw-r--r--src/classes/transform.rs21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/classes/transform.rs b/src/classes/transform.rs
index d31a7d6..2ec515a 100644
--- a/src/classes/transform.rs
+++ b/src/classes/transform.rs
@@ -18,28 +18,19 @@ impl FromValue for Transform {
fn from_value(v: Value) -> Result<Self> {
let mut fields = v.as_class("Transform").unwrap();
Ok(Self {
+ father: fields.field("m_Father")?,
+ gameobject: fields.field("m_GameObject")?,
+ local_position: fields.field("m_LocalPosition")?,
+ local_rotation: fields.field("m_LocalRotation")?,
+ local_scale: fields.field("m_LocalScale")?,
children: fields
.remove("m_Children")
.unwrap()
- .as_class("vector")
- .unwrap()
- .remove("Array")
- .unwrap()
- .as_array()
+ .as_vector()
.unwrap()
.into_iter()
.map(|e| PPtr::from_value(e).unwrap().cast())
.collect(),
- father: fields
- .remove("m_Father")
- .unwrap()
- .parse::<PPtr>()
- .unwrap()
- .cast(),
- gameobject: fields.remove("m_GameObject").unwrap().parse().unwrap(),
- local_position: fields.remove("m_LocalPosition").unwrap().parse().unwrap(),
- local_rotation: fields.remove("m_LocalRotation").unwrap().parse().unwrap(),
- local_scale: fields.remove("m_LocalScale").unwrap().parse().unwrap(),
})
}
}