use std::{env::args, fs::File, io::BufReader}; use unity_tools::{assetbundle::AssetBundle, classes::material::Material}; 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")?; let mode = args().nth(2).unwrap(); for ob in bundle.all_toplevel_of_class("Material") { let mat = ob.load(&mut bundle)?.parse::()?; match mode.as_str() { "material" => { println!("{}", mat.name) } "shader" => { println!("{}", mat.shader.load(&mut bundle)?.parsed.name) } x => panic!("unknown mode {x:?}"), } } Ok(()) }