use std::path::PathBuf;
use unity_typetree_gen::AssemblyTypeTreeGenerator;
fn main() {
let args: Vec<String> = std::env::args().collect();
let (managed_dir, version, assembly, full_name) = (&args[1], &args[2], &args[3], &args[4]);
let version = version
.parse()
.expect("invalid unity version (e.g. 6000.0.0f1)");
let managed_dir = PathBuf::from(managed_dir);
let generator = AssemblyTypeTreeGenerator::new(version);
let (namespace, type_name) = full_name.rsplit_once('.').unwrap_or(("", full_name));
let tree = generator
.generate_from_dir(&managed_dir, assembly, namespace, type_name)
.expect("load error")
.expect("assembly/class not found");
println!("{}", tree.dump_pretty());
}