bevy/crates
Mark Wainwright 6529d2e7f0
Added Has<T> WorldQuery type (#8844)
# Objective

- Fixes #7811 

## Solution

- I added `Has<T>` (and `HasFetch<T>` ) and implemented `WorldQuery`,
`ReadonlyWorldQuery`, and `ArchetypeFilter` it
- I also added documentation with an example and a unit test


I believe I've done everything right but this is my first contribution
and I'm not an ECS expert so someone who is should probably check my
implementation. I based it on what `Or<With<T>,>`, would do. The only
difference is that `Has` does not update component access - adding `Has`
to a query should never affect whether or not it is disjoint with
another query *I think*.

---

## Changelog

## Added
- Added `Has<T>` WorldQuery to find out whether or not an entity has a
particular component.

---------

Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Co-authored-by: JoJoJet <21144246+JoJoJet@users.noreply.github.com>
2023-06-19 13:56:20 +00:00
..
bevy_a11y Require #[derive(Event)] on all Events (#7086) 2023-06-06 14:44:32 +00:00
bevy_animation Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_app Fix documentation of SubApp extract (#8747) 2023-06-12 19:30:04 +00:00
bevy_asset Update notify requirement from 5.0.0 to 6.0.0 (#8757) 2023-06-06 21:05:21 +00:00
bevy_audio reflect: stable type path v2 (#7184) 2023-06-05 20:31:20 +00:00
bevy_core Add Reflect and FromReflect for AssetPath (#8531) 2023-05-08 19:19:19 +00:00
bevy_core_pipeline Screen Space Ambient Occlusion (SSAO) MVP (#7402) 2023-06-18 21:05:55 +00:00
bevy_derive bevy_derive: Add #[deref] attribute (#8552) 2023-05-16 18:29:09 +00:00
bevy_diagnostic Initialize DiagnosticStore on register_diagnostic if it does not exist (#8819) 2023-06-12 19:40:09 +00:00
bevy_dylib Suppress the clippy::type_complexity lint (#8313) 2023-04-06 21:27:36 +00:00
bevy_dynamic_plugin Remove stray boilerplate line in bevy_dynamic_plugin/Cargo.toml (#8830) 2023-06-12 19:10:48 +00:00
bevy_ecs Added Has<T> WorldQuery type (#8844) 2023-06-19 13:56:20 +00:00
bevy_ecs_compile_fail_tests Resolve clippy issues for rust 1.70.0 (#8738) 2023-06-01 21:05:05 +00:00
bevy_encase_derive update syn, encase, glam and hexasphere (#8573) 2023-05-16 01:24:17 +00:00
bevy_gilrs Add gamepad rumble support to bevy_input (#8398) 2023-04-24 15:28:53 +00:00
bevy_gizmos Instanced line rendering for gizmos based on bevy_polyline (#8427) 2023-06-13 06:49:47 +00:00
bevy_gltf reflect: stable type path v2 (#7184) 2023-06-05 20:31:20 +00:00
bevy_hierarchy Rename Command's "write" method to "apply" (#8814) 2023-06-12 17:53:47 +00:00
bevy_input Add window entity to mouse and keyboard events (#8852) 2023-06-16 13:54:06 +00:00
bevy_internal Instanced line rendering for gizmos based on bevy_polyline (#8427) 2023-06-13 06:49:47 +00:00
bevy_log Update android_log-sys requirement from 0.2.0 to 0.3.0 (#7925) 2023-06-01 07:55:33 +00:00
bevy_macro_utils update syn, encase, glam and hexasphere (#8573) 2023-05-16 01:24:17 +00:00
bevy_macros_compile_fail_tests bevy_derive: Add #[deref] attribute (#8552) 2023-05-16 18:29:09 +00:00
bevy_math Add integer equivalents for Rect (#7984) 2023-06-12 19:10:48 +00:00
bevy_mikktspace update syn, encase, glam and hexasphere (#8573) 2023-05-16 01:24:17 +00:00
bevy_pbr Screen Space Ambient Occlusion (SSAO) MVP (#7402) 2023-06-18 21:05:55 +00:00
bevy_ptr Fixed several missing links in docs. (#8117) 2023-04-23 17:28:36 +00:00
bevy_reflect bevy_reflect: implement Reflect for SmolStr (#8771) 2023-06-08 20:33:21 +00:00
bevy_reflect_compile_fail_tests reflect: stable type path v2 (#7184) 2023-06-05 20:31:20 +00:00
bevy_render Add RenderTarget::TextureView (#8042) 2023-06-19 13:53:05 +00:00
bevy_scene Rename Command's "write" method to "apply" (#8814) 2023-06-12 17:53:47 +00:00
bevy_sprite reflect: stable type path v2 (#7184) 2023-06-05 20:31:20 +00:00
bevy_tasks remove some use of once_cell that can be replace with new std (#8739) 2023-06-01 21:55:18 +00:00
bevy_text reflect: stable type path v2 (#7184) 2023-06-05 20:31:20 +00:00
bevy_time Hide naga info logs & Derive PartialEq on Timer and Stopwatch (#8664) 2023-05-24 15:16:15 +00:00
bevy_transform Rename Command's "write" method to "apply" (#8814) 2023-06-12 17:53:47 +00:00
bevy_ui Ui Node Borders (#7795) 2023-06-14 22:43:38 +00:00
bevy_utils Fix all_tuples + added docs. (#8743) 2023-06-02 16:05:27 +00:00
bevy_window Register a few missed reflect components (#8807) 2023-06-10 23:19:39 +00:00
bevy_winit Add window entity to mouse and keyboard events (#8852) 2023-06-16 13:54:06 +00:00