diff --git a/engine/src/scene/scene/scene_base.rs b/engine/src/scene/scene/scene_base.rs index 770364b..96d6cca 100644 --- a/engine/src/scene/scene/scene_base.rs +++ b/engine/src/scene/scene/scene_base.rs @@ -228,16 +228,6 @@ impl Scene { Ok(()) } - pub fn entity_resource( - &mut self, - entity: Entity, - ) -> Result<(&mut Resources, &mut EntityObject)> { - Ok(( - unsafe { remove_life_time_mut(&mut self.resources) }, - self.entity_mut(entity)?, - )) - } - pub fn view_resource(&mut self) -> (&mut View, &mut Resources) { (self.renderer.view_mut(), &mut self.resources) } @@ -703,6 +693,13 @@ impl SceneEntities for Scene { Ok(e) } + fn entity_resource(&mut self, entity: Entity) -> Result<(&mut Resources, &mut EntityObject)> { + Ok(( + unsafe { remove_life_time_mut(&mut self.resources) }, + self.entity_mut(entity)?, + )) + } + fn archetype_info(&self, name: impl ToString) -> Result { let name = name.to_string(); let archetype = self diff --git a/engine/src/scene/scene/scene_content.rs b/engine/src/scene/scene/scene_content.rs index 56c380c..e95090d 100644 --- a/engine/src/scene/scene/scene_content.rs +++ b/engine/src/scene/scene/scene_content.rs @@ -45,6 +45,8 @@ pub trait SceneEntities { fn add_entity(&mut self, entity_object: EntityObject) -> Result; fn archetype_info(&self, name: impl ToString) -> Result; + fn entity_resource(&mut self, entity: Entity) -> Result<(&mut Resources, &mut EntityObject)>; + fn insert_component( &mut self, entity: Entity, @@ -358,6 +360,13 @@ impl<'a> SceneEntities for SceneContents<'a> { self.entities.add_entity(entity_object) } + fn entity_resource(&mut self, entity: Entity) -> Result<(&mut Resources, &mut EntityObject)> { + Ok(( + unsafe { remove_life_time_mut(&mut self.resources) }, + self.entity_mut(entity)?, + )) + } + fn archetype_info(&self, name: impl ToString) -> Result { let name = name.to_string(); let archetype = self