use std::{env::args, fs::File, io::BufReader}; use unity_tools::{assetbundle::AssetBundle, classes::transform::Transform}; fn main() -> anyhow::Result<()> { env_logger::init_from_env("LOG"); let file = BufReader::new(File::open(args().nth(1).unwrap()).unwrap()); let mut bundle = AssetBundle::open(file, "samples")?; println!("digraph {{"); for ob in bundle.all_toplevel_of_class("Transform") { let i = ob.path_id; let tr = ob.load(&mut bundle)?.parse::()?; let mut name = "(no gameobject)".to_string(); if !tr.gameobject.is_null() { let go = tr.gameobject.load(&mut bundle)?; name = go.name; } println!("n{i} [label={name:?}];"); if !tr.father.is_null() { let j = tr.father.path_id; println!("n{j} -> n{i};") } } println!("}}"); Ok(()) }