bevy-either 0.2.0

A Bevy crate allowing macro-built WorldQueries matching over one of many other WorldQueries.
Documentation
  • Coverage
  • 30%
    3 out of 10 items documented0 out of 1 items with examples
  • Size
  • Source code size: 39.5 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 977.01 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 48s Average build duration of successful builds.
  • all releases: 48s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • ocornoc/bevy_either
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ocornoc

bevy-either

This library provides world queries over other world queries, allowing only one of multiple to be satisfied and returning the query items.

Either<T, U>

Given two world queries T and U, Either<T, U> provides a world query that contains either the T's item or the U's item. If both T and U successfully match an entity, then only T's item is given, e.g. there isn't a "both" variant.

EitherBoth<T, U>

Similarly to Either<T, U>, EitherBoth<T, U> does allow one to match over T's item or U's item. What sets it apart is the Both(t, u) variant, allowing both T's and U's items to be provided, given that they do both match.

either_many!

This macro creates a new world query enum with a new variant for each of its possible matched world queries. There isn't a "both"/"multiple" variant and the priority is always given to the first declared variant when multiple matches occur. This lets you create world queries similar to [Either], matching over one of the variant world queries with some priority order.

readonly

When using either_many!, you can put readonly before the name of the new query. This will make the resulting type's fetcher read only. The type is read only if and only if all of its variants are read only, and this is an invariant you must uphold.