1个不稳定版本
0.1.0 | 2022年1月31日 |
---|
#10 in #shard
在shard-ecs中使用
2KB
Shard
Shard是一个基于Archetype的实体组件系统,用Rust实现。
特性
- 系统(目前)是隐式的。
- 支持#![no_std]环境。(但是需要alloc)
- 每个实体最多14个组件。
- 最多65K个archetypes。
- 最多1,670万个实体。
- 无依赖。
- (大部分)单元测试。
用法
请查看示例目录以获取详细信息,但简而言之
- 为希望用作组件的类型实现Component特质。
- 创建一个注册表。
- 使用注册表来构建实体。
- 向实体添加或从实体中移除组件。
- 遍历匹配某些组件子集的实体。
待办事项
- 查询支持
过滤器迭代器=> 0.2.3版本完成。- 组件的过程宏derive => 0.2.6版本完成。
- 允许替换组件。
- 允许一次添加/移除多个组件。
- 更快的archetype查找(使用图)。
- 组件依赖/排除。
依赖
~1.5MB
~34K SLoC