From 1bf48462393099d971b7a8613bd945d863d97273 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 13 Sep 2025 15:19:09 +0200 Subject: feat(ecs): add entity::Obtainer --- ecs/src/entity/obtainer.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ecs/src/entity/obtainer.rs (limited to 'ecs/src/entity') diff --git a/ecs/src/entity/obtainer.rs b/ecs/src/entity/obtainer.rs new file mode 100644 index 0000000..6c2ea96 --- /dev/null +++ b/ecs/src/entity/obtainer.rs @@ -0,0 +1,29 @@ +use crate::entity::Handle as EntityHandle; +use crate::system::{Metadata as SystemMetadata, Param as SystemParam}; +use crate::uid::Uid; +use crate::World; + +#[derive(Debug)] +pub struct Obtainer<'world> +{ + world: &'world World, +} + +impl<'world> SystemParam<'world> for Obtainer<'world> +{ + type Input = (); + + fn new(world: &'world World, _system_metadata: &SystemMetadata) -> Self + { + Self { world } + } +} + +impl Obtainer<'_> +{ + #[must_use] + pub fn get_entity(&self, entity_id: Uid) -> Option> + { + self.world.get_entity(entity_id) + } +} -- cgit v1.2.3-18-g5258