Add query ctor

This commit is contained in:
hodasemi 2025-04-15 10:29:00 +02:00
parent 7def5ee520
commit abbbfb359d
2 changed files with 16 additions and 10 deletions

View file

@ -74,6 +74,14 @@ where
}
impl<C, F: CheckFilter> Query<C, F> {
pub fn new(entity: Entity, c: C) -> Self {
Self {
entity,
c,
filter: PhantomData,
}
}
pub fn entity(&self) -> Entity {
self.entity
}

View file

@ -93,19 +93,17 @@ impl Query {
let component_name = &component_names[0];
quote! {
let #query_ident = Query {
entity: #entity_ident,
c: unsafe { #component_name.as_mut() },
filter: PhantomData,
};
let #query_ident = Query::new(
#entity_ident,
unsafe { #component_name.as_mut() },
);
}
} else {
quote! {
let #query_ident = Query {
entity: #entity_ident,
c: unsafe { ( #( #component_names.as_mut(), )* ) },
filter: PhantomData,
};
let #query_ident = Query::new(
#entity_ident,
unsafe { ( #( #component_names.as_mut(), )* ) },
);
}
},
query_ident,