#world #allowing #queries #matching #bevy #world-queries #macro-built

bevy-either

允许宏构建的WorldQueries在多个WorldQueries中进行匹配的Bevy库

2个不稳定版本

0.2.0 2021年6月2日
0.1.0 2021年5月30日

#1687 in 游戏开发

MIT/Apache

27KB
576

Bevy WorldQuery的可选匹配!

此库提供了对其他WorldQueries的WorldQueries,允许匹配多个中的任何一个,并返回查询项。

Either<T, U>

给定两个WorldQueries TUEither<T, U>提供了一个包含T的项或U的项的WorldQuery。如果T和U都成功匹配实体,则只提供T的项,例如没有“两者”变体。

EitherBoth<T, U>EitherBoth

Either<T, U>类似,EitherBoth<T, U>允许匹配T的项或U的项。区别在于Both(t, u)变体,允许在两者都匹配的情况下提供T和U的项。

either_many!

此宏为每个可能的匹配WorldQueries创建一个新的world查询枚举,并为每个变体提供一个新变体。没有“两者”/“多个”变体,并且当出现多个匹配时,优先级始终给予第一个声明的变体。这使得您能够创建类似Either的world查询,按某些优先级顺序匹配变体world查询。

readonly

在使用either_many!时,您可以在新查询名称之前放置readonly。这将使结果类型的fetcher仅读。当且仅当其所有变体都是只读时,类型才是只读的,这是一个你必须维护的不变量。

许可协议

以下任一许可协议下获得许可:

由您选择。

贡献

除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,均应双授权如上,不附加任何额外条款或条件。

依赖项

~14-23MB
~356K SLoC