From 4e50af2453cc7c4652ef7725228ad93b3d6a3c61 Mon Sep 17 00:00:00 2001 From: DasLixou Date: Tue, 20 Aug 2024 20:38:56 +0200 Subject: [PATCH] faking named entity in type registry --- crates/blenvy/src/components/fake_entity.rs | 257 ++++++++++++++++++ crates/blenvy/src/components/mod.rs | 2 + crates/blenvy/src/components/process_gltfs.rs | 16 +- .../ronstring_to_reflect_component.rs | 28 +- examples/relations/art/untitled.blend | Bin 895456 -> 893800 bytes examples/relations/assets/levels/World.glb | Bin 3408 -> 3336 bytes examples/relations/src/main.rs | 2 +- .../propGroups/conversions_from_prop_group.py | 2 +- 8 files changed, 290 insertions(+), 17 deletions(-) create mode 100644 crates/blenvy/src/components/fake_entity.rs diff --git a/crates/blenvy/src/components/fake_entity.rs b/crates/blenvy/src/components/fake_entity.rs new file mode 100644 index 0000000..fa80971 --- /dev/null +++ b/crates/blenvy/src/components/fake_entity.rs @@ -0,0 +1,257 @@ +pub(crate) struct Entity { + name: Option, +} + +const _: () = { + use bevy::reflect as bevy_reflect; + + #[allow(unused_mut)] + impl bevy_reflect::GetTypeRegistration for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + Option: bevy_reflect::FromReflect + + bevy_reflect::TypePath + + bevy_reflect::__macro_exports::RegisterForReflection, + { + fn get_type_registration() -> bevy_reflect::TypeRegistration { + let mut registration = bevy_reflect::TypeRegistration::of::(); + registration + .insert::< + bevy_reflect::ReflectFromPtr, + >(bevy_reflect::FromType::::from_type()); + registration.insert::( + bevy_reflect::FromType::::from_type(), + ); + registration + } + #[inline(never)] + fn register_type_dependencies(registry: &mut bevy_reflect::TypeRegistry) { + as bevy_reflect::__macro_exports::RegisterForReflection>::__register( + registry, + ); + } + } + impl bevy_reflect::Typed for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + Option: bevy_reflect::FromReflect + + bevy_reflect::TypePath + + bevy_reflect::__macro_exports::RegisterForReflection, + { + fn type_info() -> &'static bevy_reflect::TypeInfo { + static CELL: bevy_reflect::utility::NonGenericTypeInfoCell = + bevy_reflect::utility::NonGenericTypeInfoCell::new(); + CELL.get_or_set(|| { + bevy_reflect::TypeInfo::Struct( + bevy_reflect::StructInfo::new::(&[ + // TODO: changed here + bevy_reflect::NamedField::new::>("name") + .with_custom_attributes( + bevy_reflect::attributes::CustomAttributes::default(), + ), + ]) + .with_custom_attributes(bevy_reflect::attributes::CustomAttributes::default()), + ) + }) + } + } + impl bevy_reflect::TypePath for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + { + fn type_path() -> &'static str { + "bevy_ecs::entity::Entity" + } + fn short_type_path() -> &'static str { + "Entity" + } + fn type_ident() -> Option<&'static str> { + ::core::option::Option::Some("Entity") + } + fn crate_name() -> Option<&'static str> { + ::core::option::Option::Some("bevy_ecs::entity".split(':').next().unwrap()) + } + fn module_path() -> Option<&'static str> { + ::core::option::Option::Some("bevy_ecs::entity") + } + } + impl bevy_reflect::Struct for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + Option: bevy_reflect::FromReflect + + bevy_reflect::TypePath + + bevy_reflect::__macro_exports::RegisterForReflection, + { + fn field(&self, name: &str) -> ::core::option::Option<&dyn bevy_reflect::Reflect> { + match name { + "name" => ::core::option::Option::Some(&self.name), + _ => ::core::option::Option::None, + } + } + fn field_mut( + &mut self, + name: &str, + ) -> ::core::option::Option<&mut dyn bevy_reflect::Reflect> { + match name { + "name" => ::core::option::Option::Some(&mut self.name), + _ => ::core::option::Option::None, + } + } + fn field_at(&self, index: usize) -> ::core::option::Option<&dyn bevy_reflect::Reflect> { + match index { + 0usize => ::core::option::Option::Some(&self.name), + _ => ::core::option::Option::None, + } + } + fn field_at_mut( + &mut self, + index: usize, + ) -> ::core::option::Option<&mut dyn bevy_reflect::Reflect> { + match index { + 0usize => ::core::option::Option::Some(&mut self.name), + _ => ::core::option::Option::None, + } + } + fn name_at(&self, index: usize) -> ::core::option::Option<&str> { + match index { + 0usize => ::core::option::Option::Some("name"), + _ => ::core::option::Option::None, + } + } + fn field_len(&self) -> usize { + 1usize + } + fn iter_fields(&self) -> bevy_reflect::FieldIter { + bevy_reflect::FieldIter::new(self) + } + fn clone_dynamic(&self) -> bevy_reflect::DynamicStruct { + let mut dynamic: bevy_reflect::DynamicStruct = ::core::default::Default::default(); + dynamic.set_represented_type(bevy_reflect::Reflect::get_represented_type_info(self)); + dynamic.insert_boxed("name", bevy_reflect::Reflect::clone_value(&self.name)); + dynamic + } + } + impl bevy_reflect::Reflect for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + Option: bevy_reflect::FromReflect + + bevy_reflect::TypePath + + bevy_reflect::__macro_exports::RegisterForReflection, + { + #[inline] + fn get_represented_type_info( + &self, + ) -> ::core::option::Option<&'static bevy_reflect::TypeInfo> { + ::core::option::Option::Some(::type_info()) + } + #[inline] + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { + self + } + #[inline] + fn as_any(&self) -> &dyn ::core::any::Any { + self + } + #[inline] + fn as_any_mut(&mut self) -> &mut dyn ::core::any::Any { + self + } + #[inline] + fn into_reflect( + self: ::std::boxed::Box, + ) -> ::std::boxed::Box { + self + } + #[inline] + fn as_reflect(&self) -> &dyn bevy_reflect::Reflect { + self + } + #[inline] + fn as_reflect_mut(&mut self) -> &mut dyn bevy_reflect::Reflect { + self + } + #[inline] + fn clone_value(&self) -> ::std::boxed::Box { + ::std::boxed::Box::new(bevy_reflect::Struct::clone_dynamic(self)) + } + #[inline] + fn set( + &mut self, + value: ::std::boxed::Box, + ) -> ::core::result::Result<(), ::std::boxed::Box> { + *self = ::take(value)?; + ::core::result::Result::Ok(()) + } + #[inline] + fn try_apply( + &mut self, + value: &dyn bevy_reflect::Reflect, + ) -> ::core::result::Result<(), bevy_reflect::ApplyError> { + if let bevy_reflect::ReflectRef::Struct(struct_value) = + bevy_reflect::Reflect::reflect_ref(value) + { + for (i, value) in ::core::iter::Iterator::enumerate( + bevy_reflect::Struct::iter_fields(struct_value), + ) { + let name = bevy_reflect::Struct::name_at(struct_value, i).unwrap(); + if let ::core::option::Option::Some(v) = + bevy_reflect::Struct::field_mut(self, name) + { + bevy_reflect::Reflect::try_apply(v, value)?; + } + } + } else { + return ::core::result::Result::Err(bevy_reflect::ApplyError::MismatchedKinds { + from_kind: bevy_reflect::Reflect::reflect_kind(value), + to_kind: bevy_reflect::ReflectKind::Struct, + }); + } + ::core::result::Result::Ok(()) + } + #[inline] + fn reflect_kind(&self) -> bevy_reflect::ReflectKind { + bevy_reflect::ReflectKind::Struct + } + #[inline] + fn reflect_ref(&self) -> bevy_reflect::ReflectRef { + bevy_reflect::ReflectRef::Struct(self) + } + #[inline] + fn reflect_mut(&mut self) -> bevy_reflect::ReflectMut { + bevy_reflect::ReflectMut::Struct(self) + } + #[inline] + fn reflect_owned(self: ::std::boxed::Box) -> bevy_reflect::ReflectOwned { + bevy_reflect::ReflectOwned::Struct(self) + } + fn reflect_partial_eq( + &self, + value: &dyn bevy_reflect::Reflect, + ) -> ::core::option::Option { + bevy_reflect::struct_partial_eq(self, value) + } + } + impl bevy_reflect::FromReflect for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + Option: bevy_reflect::FromReflect + + bevy_reflect::TypePath + + bevy_reflect::__macro_exports::RegisterForReflection, + { + fn from_reflect(reflect: &dyn bevy_reflect::Reflect) -> ::core::option::Option { + if let bevy_reflect::ReflectRef::Struct(__ref_struct) = + bevy_reflect::Reflect::reflect_ref(reflect) + { + ::core::option::Option::Some(Self { + name: (|| { + as bevy_reflect::FromReflect>::from_reflect( + bevy_reflect::Struct::field(__ref_struct, "name")?, + ) + })()?, + }) + } else { + ::core::option::Option::None + } + } + } +}; diff --git a/crates/blenvy/src/components/mod.rs b/crates/blenvy/src/components/mod.rs index 6b42c00..9c499f2 100644 --- a/crates/blenvy/src/components/mod.rs +++ b/crates/blenvy/src/components/mod.rs @@ -7,6 +7,8 @@ pub use ronstring_to_reflect_component::*; pub mod process_gltfs; pub use process_gltfs::*; +mod fake_entity; + pub mod blender_settings; use bevy::{ diff --git a/crates/blenvy/src/components/process_gltfs.rs b/crates/blenvy/src/components/process_gltfs.rs index c7b9edb..d861662 100644 --- a/crates/blenvy/src/components/process_gltfs.rs +++ b/crates/blenvy/src/components/process_gltfs.rs @@ -74,8 +74,8 @@ pub fn add_components_from_gltf_extras(world: &mut World) { ); let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); // let name = name.unwrap_or(&Name::new("")); let (target_entity, updated_components) = @@ -90,8 +90,8 @@ pub fn add_components_from_gltf_extras(world: &mut World) { ); let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); let (target_entity, updated_components) = find_entity_components(entity, name, parent, reflect_components, &entity_components); @@ -105,8 +105,8 @@ pub fn add_components_from_gltf_extras(world: &mut World) { ); let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); let (target_entity, updated_components) = find_entity_components(entity, name, parent, reflect_components, &entity_components); @@ -120,8 +120,8 @@ pub fn add_components_from_gltf_extras(world: &mut World) { ); let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); let (target_entity, updated_components) = find_entity_components(entity, name, parent, reflect_components, &entity_components); diff --git a/crates/blenvy/src/components/ronstring_to_reflect_component.rs b/crates/blenvy/src/components/ronstring_to_reflect_component.rs index e772d89..ba1a473 100644 --- a/crates/blenvy/src/components/ronstring_to_reflect_component.rs +++ b/crates/blenvy/src/components/ronstring_to_reflect_component.rs @@ -1,15 +1,17 @@ +use std::any::TypeId; + use bevy::log::{debug, warn}; use bevy::reflect::serde::ReflectDeserializer; -use bevy::reflect::{Reflect, TypeRegistration, TypeRegistry}; +use bevy::reflect::{GetTypeRegistration, Reflect, TypeRegistration, TypeRegistry}; use bevy::utils::HashMap; use ron::Value; use serde::de::DeserializeSeed; -use super::capitalize_first_letter; +use super::{capitalize_first_letter, fake_entity}; pub fn ronstring_to_reflect_component( ron_string: &str, - type_registry: &TypeRegistry, + type_registry: &mut TypeRegistry, ) -> Vec<(Box, TypeRegistration)> { let lookup: HashMap = ron::from_str(ron_string).unwrap(); let mut components: Vec<(Box, TypeRegistration)> = Vec::new(); @@ -96,10 +98,16 @@ fn components_string_to_components( fn bevy_components_string_to_components( parsed_value: String, - type_registry: &TypeRegistry, + type_registry: &mut TypeRegistry, components: &mut Vec<(Box, TypeRegistration)>, ) { let lookup: HashMap = ron::from_str(&parsed_value).unwrap(); + + let recovery_entity_type = type_registry + .get(TypeId::of::()) + .cloned(); + type_registry.overwrite_registration(fake_entity::Entity::get_type_registration()); + for (key, value) in lookup.into_iter() { let parsed_value: String = match value.clone() { Value::String(str) => str, @@ -121,10 +129,10 @@ fn bevy_components_string_to_components( let reflect_deserializer = ReflectDeserializer::new(type_registry); let component = reflect_deserializer .deserialize(&mut deserializer) - .unwrap_or_else(|_| { + .unwrap_or_else(|e| { panic!( - "failed to deserialize component {} with value: {:?}", - key, value + "failed to deserialize component '{}' with value '{:?}': {:?}", + key, value, e ) }); @@ -136,4 +144,10 @@ fn bevy_components_string_to_components( warn!("no type registration for {}", key); } } + + if let Some(original_entity) = recovery_entity_type { + type_registry.overwrite_registration(original_entity); + } else { + warn!("There isn't an original type registration for `bevy_ecs::entity::Entity` but it was overwriten. Stuff may break and/or panic. Make sure that you register it!"); + } } diff --git a/examples/relations/art/untitled.blend b/examples/relations/art/untitled.blend index c585df9a41b2f5d5fd7db8d66d6168e9c2f7cfd5..2ce2f62bf52b0018efa468cbc87fb0dcda0153db 100644 GIT binary patch delta 99834 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 SgKzz7L$>o@8-~37{{IJK^#+Il delta 101431 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 MZOdEwy}$qe1EVOB6aWAK diff --git a/examples/relations/assets/levels/World.glb b/examples/relations/assets/levels/World.glb index 9cf25cbe1dd0691ee3fa673c7a2cd4892895c6b5..160960541dc9d2286a2de410c500452c18cb71c2 100644 GIT binary patch delta 51 zcmca0)gi^3o)hB6#K6G7!OOs~WFqf_$u5iqljRtt1Y%-hlr%MU6!J?lQj4qx*)}yo)hB6#K6E1z{|k!W+Lx{$r_9@q9LUPIjKRZIf*5i`FX`LN>&OnN*a@6 v8Krpi3=9loVq%muHDi<}zAcdU%g;;I)KSPU$w)1-Qiz6f!PMq<#zt-c%Um8j diff --git a/examples/relations/src/main.rs b/examples/relations/src/main.rs index ee083ce..85b0098 100644 --- a/examples/relations/src/main.rs +++ b/examples/relations/src/main.rs @@ -3,7 +3,7 @@ use blenvy::{BlenvyPlugin, BlueprintInfo, GameWorldTag, HideUntilReady, SpawnBlu #[derive(Component, Reflect)] #[reflect(Component)] -pub struct TupleRelations(Entity); +pub struct TupleRelations(Entity); // TODO: Serialization on blender side currently is broken #[derive(Component, Reflect)] #[reflect(Component)] diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py b/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py index 2541cc4..b3437a1 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py @@ -26,7 +26,7 @@ conversion_tables = { "bevy_color::linear_rgba::LinearRgba": lambda value: "LinearRgba(red:"+str(value[0])+ ", green:"+str(value[1])+ ", blue:"+str(value[2])+ ", alpha:"+str(value[3])+ ")", "bevy_color::hsva::Hsva": lambda value: "Hsva(hue:"+str(value[0])+ ", saturation:"+str(value[1])+ ", value:"+str(value[2])+ ", alpha:"+str(value[3])+ ")", - "bevy_ecs::entity::Entity": lambda value: 'Entity(name: ' + ('Some("' + str(value.name) + '")') if value is not None else "None" + ')' + "bevy_ecs::entity::Entity": lambda value: 'Entity(name: ' + (('Some("' + str(value.name) + '")') if value is not None else "None") + ')', } #converts the value of a property group(no matter its complexity) into a single custom property value