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> { 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 { pub fn entity(&self) -> Entity {
self.entity self.entity
} }

View file

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