use bevy::prelude::*; use genco::prelude::*; use unrust_proc_macro::unity_authoring; #[unity_authoring] pub struct UnityParent { pub entity: u64, } impl From for UnityParent { fn from(value: Entity) -> Self { UnityParent { entity: value.to_bits(), } } } impl From<&UnityParent> for Entity { fn from(value: &UnityParent) -> Self { Self::from_bits(value.entity) } } impl From for Entity { fn from(value: UnityParent) -> Self { Self::from_bits(value.entity) } } #[allow(non_snake_case)] pub fn UnityParent_ingest_component(entity: &mut bevy::ecs::world::EntityMut, val: &UnityParent) { entity.set_parent(val.into()); entity.insert(*val); } #[allow(non_snake_case)] pub fn UnityParent_CSHARP_TOKEN() -> csharp::Tokens { quote! { [StructLayout(LayoutKind.Sequential)] public unsafe struct UnityParent { public ulong parent; } } }