feat(components): warn instead of crash when components aren't reflectable (#207)

* warn instead of panic when components aren't reflectable
* entities get marked as processed even if components are not inserted
This commit is contained in:
Chris Biscardi 2024-07-29 01:17:36 -07:00 committed by GitHub
parent aff11cca4c
commit 0b038de584
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -8,7 +8,7 @@ use bevy::{
},
gltf::{GltfExtras, GltfMaterialExtras, GltfMeshExtras, GltfSceneExtras},
hierarchy::Parent,
log::debug,
log::{debug, warn},
reflect::{Reflect, TypeRegistration},
utils::HashMap,
};
@ -145,10 +145,12 @@ pub fn add_components_from_gltf_extras(world: &mut World) {
{
let mut entity_mut = world.entity_mut(entity);
type_registration
.data::<ReflectComponent>()
.expect("Unable to reflect component")
.insert(&mut entity_mut, &*component, &type_registry);
let Some(reflected_component) = type_registration.data::<ReflectComponent>() else {
warn!(?component, "unable to reflect component");
entity_mut.insert(GltfProcessed);
continue;
};
reflected_component.insert(&mut entity_mut, &*component, &type_registry);
entity_mut.insert(GltfProcessed); //
}