From fe62665b1d62d36ee0839e6bf24e3841ea667da9 Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 21 Mar 2025 20:05:53 +0100 Subject: refactor(ecs): replace query options with fieldless terms --- ecs/src/query/term.rs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ecs/src/query/term.rs (limited to 'ecs/src/query/term.rs') diff --git a/ecs/src/query/term.rs b/ecs/src/query/term.rs new file mode 100644 index 0000000..7f24147 --- /dev/null +++ b/ecs/src/query/term.rs @@ -0,0 +1,38 @@ +use std::marker::PhantomData; + +use crate::component::Component; +use crate::query::{TermWithoutField, TermsBuilder, TermsBuilderInterface}; + +pub struct With +where + ComponentT: Component, +{ + _pd: PhantomData, +} + +impl TermWithoutField for With +where + ComponentT: Component, +{ + fn apply_to_terms_builder(terms_builder: &mut TermsBuilder<'_>) + { + terms_builder.with::(); + } +} + +pub struct Without +where + ComponentT: Component, +{ + _pd: PhantomData, +} + +impl TermWithoutField for Without +where + ComponentT: Component, +{ + fn apply_to_terms_builder(terms_builder: &mut TermsBuilder<'_>) + { + terms_builder.without::(); + } +} -- cgit v1.2.3-18-g5258