#component #ecs #entity #system #shard #macro #implemented

shard_ecs_derive

包含Shard实体组件系统的 derive宏

1个不稳定版本

0.1.0 2022年1月31日

#10 in #shard


shard-ecs中使用

MIT许可证

2KB

Shard

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

特性

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

用法

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

  1. 为希望用作组件的类型实现Component特质。
  2. 创建一个注册表。
  3. 使用注册表来构建实体。
  4. 向实体添加或从实体中移除组件。
  5. 遍历匹配某些组件子集的实体。

待办事项

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

依赖

~1.5MB
~34K SLoC