summaryrefslogtreecommitdiff
path: root/ecs/src/entity.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2025-10-13 22:03:22 +0200
committerHampusM <hampus@hampusmat.com>2025-10-13 22:03:22 +0200
commita1816f82c2d5c18cfd3282047632959028685a45 (patch)
treebcc10a80145f16ebe258955eca4efdbbc7bf787d /ecs/src/entity.rs
parentcb1197a132f87cd5034bb8927fdbd09878d9239a (diff)
feat(ecs): add get_wildcard_pair_matches fn to entity::Handle
Diffstat (limited to 'ecs/src/entity.rs')
-rw-r--r--ecs/src/entity.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/ecs/src/entity.rs b/ecs/src/entity.rs
index 8c07ea8..ad9f179 100644
--- a/ecs/src/entity.rs
+++ b/ecs/src/entity.rs
@@ -12,7 +12,12 @@ use crate::component::{
Handle as ComponentHandle,
HandleMut as ComponentHandleMut,
};
-use crate::pair::{ComponentOrWildcard, Pair, WithWildcard as PairWithWildcard};
+use crate::pair::{
+ ComponentOrWildcard,
+ MultipleWithWildcard as PairMultipleWithWildcard,
+ Pair,
+ WithWildcard as PairWithWildcard,
+};
use crate::uid::{Kind as UidKind, Uid};
use crate::{EntityComponentRef, World};
@@ -174,6 +179,17 @@ impl<'a> Handle<'a>
Some(PairWithWildcard::new(self.world, matching_comps.next()?))
}
+ #[must_use]
+ pub fn get_wildcard_pair_matches<Relation, Target>(
+ &self,
+ ) -> PairMultipleWithWildcard<'a, Relation, Target>
+ where
+ Relation: ComponentOrWildcard,
+ Target: ComponentOrWildcard,
+ {
+ PairMultipleWithWildcard::new(self.world, self.clone())
+ }
+
#[inline]
#[must_use]
pub fn get_matching_components(&self, component_uid: Uid)