saving my place

main
Elijah Voigt 1 year ago
parent 5724e670b7
commit 62680b3b90

@ -311,7 +311,21 @@ impl Component for SaveModel {
const STORAGE_TYPE: StorageType = StorageType::Table; const STORAGE_TYPE: StorageType = StorageType::Table;
fn register_component_hooks(hooks: &mut ComponentHooks) { fn register_component_hooks(hooks: &mut ComponentHooks) {
todo!("Assign Scene Handle for SaveModel") // Assign Scene Handle for SaveModel
hooks.on_add(|mut world, entity, _component_id| {
todo!("Need to load gltf_file as a dependent resource of this entity");
let server = world.resource::<AssetServer>();
let save_model = world.get::<SaveModel>(entity).unwrap();
let gltf_handle = server.get_handle(save_model.gltf_file.clone()).unwrap();
let gltfs = world.resource::<Assets<Gltf>>();
let gltf = gltfs.get(&gltf_handle).unwrap();
let scene_handle = gltf
.named_scenes
.get(&save_model.scene_name.clone().into_boxed_str())
.unwrap()
.clone();
world.commands().entity(entity).insert(scene_handle);
});
} }
} }

@ -84,6 +84,9 @@ impl SaveEntity {
} else { } else {
// Run line against all parsers // Run line against all parsers
for f in fns { for f in fns {
// TODO!!
// Need to return an Option<PathBuf> from `f(...)` that is loaded as a
// dependent resource for this entity
if let Ok(p) = f(&tokens) { if let Ok(p) = f(&tokens) {
p.iter().for_each(|c| { p.iter().for_each(|c| {
// Bundle the Type ID with this entry for auditing purposes // Bundle the Type ID with this entry for auditing purposes

Loading…
Cancel
Save