#bevy #attributes #values #gamedev #modifier #automatic #highly

bevy_attr

以最小开销自动管理高度模块化、高度并行的值

1 个不稳定版本

0.1.0 2022年11月12日

#16 in #modifier

MIT/Apache

25KB
180

bevy_attr

Crates.io MIT/Apache 2.0 Docs.rs GitHub

通过最小开销自动管理 Bevy 中高度模块化和高度并行的值。

bevy 版本 crate 版本
0.9.0-dev 0.1.0-dev

此 crate 包含属性,这些属性是包含简单值和修饰符(也是组件)的组件,这些修饰符会自动编辑属性的值。

AttributeModifier 之间的关系可以看作与 Bevy 的 GlobalTransformTransform 组件之间的关系相似。每帧一次,任何更改、添加或删除的修饰符都会强制同一实体的属性刷新。实体的所有修饰符将被收集、排序并依次重新应用于属性的默认值。尽管不切实际,但 Transform 可以 作为 GlobalTransform 上的修饰符实现,将 Transform 中的数据复制到 GlobalTransform 中,但此 crate 与许多并发修饰符一起工作效果最佳。

在 Bevy 应用中,属性的使用示例可以是状态系统,其中 StrengthEndurance 都实现了 Attribute 特性,并且其修饰符更新不频繁,或者更动态的系统,其中 HealthMaxHealth 实现了它。由于属性和修饰符都只是组件,在此示例中,让 MaxHealth 成为 Health 的修饰符可能是一个好主意。

在此处查看示例

依赖关系

~17–35MB
~523K SLoC