11 个版本

0.2.7 2022年11月21日
0.2.6 2022年1月31日
0.2.5 2021年12月12日
0.1.2 2021年7月24日

#shard 中排名第 2

每月下载量 26

MIT 许可证

170KB
4K SLoC

Shard

Shard 是一个基于 Archetype 的实体组件系统,用 Rust 实现。

功能

  • 系统(目前)是隐式的。
  • 支持 #![no_std] 环境。(需要 alloc)
  • 每个实体最多 14 个组件。
  • 最多 65K 个 archetypes。
  • 最多 16.7 百万个实体。
  • 无依赖。
  • (大部分)已进行单元测试。

使用方法

请参阅示例目录以获取详细信息,但简而言之

  1. 为希望用作组件的类型实现 Component 特性。
  2. 创建一个 Registry。
  3. 使用 Registry 构造实体。
  4. 向实体添加或从实体中删除组件。
  5. 遍历与某些组件子集匹配的实体。

待办事项

  • 查询支持
  • 过滤器迭代器 => 0.2.3 版本已完成。
  • Component 的过程式 derive 宏 => 0.2.6 版本已完成。
  • 允许替换组件。
  • 允许一次性添加/删除多个组件。
  • 使用图加速 archetype 查找。
  • 组件依赖/排除。

依赖

~220KB