diff options
Diffstat (limited to 'exporter/src/bin')
-rw-r--r-- | exporter/src/bin/scenetree.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/exporter/src/bin/scenetree.rs b/exporter/src/bin/scenetree.rs index 71f0db6..e52b210 100644 --- a/exporter/src/bin/scenetree.rs +++ b/exporter/src/bin/scenetree.rs @@ -12,16 +12,21 @@ fn main() -> anyhow::Result<()> { let draw_children = var("DRAW_CHILDREN").is_ok(); println!("digraph {{"); - for ob in bundle.all_toplevel_of_class("Transform") { + for ob in bundle + .all_toplevel_of_class("Transform") + .into_iter() + .chain(bundle.all_toplevel_of_class("RectTransform")) + { let i = ob.path_id; let tr = ob.load(&mut bundle)?.parse::<Transform>()?; - let mut name = "(no gameobject)".to_string(); + println!("n{i} [label=\"\", color=blue];"); if !tr.gameobject.is_null() { + let j = tr.gameobject.path_id; let go = tr.gameobject.load(&mut bundle)?; - name = go.name; + println!("g{j} [label={:?}]", go.name); + println!("n{i} -> g{j}") } - println!("n{i} [label={name:?}];"); if !tr.father.is_null() { assert_eq!(tr.father.file_id, 0); |