6个稳定版本
1.2.1 | 2021年6月21日 |
---|---|
1.2.0 | 2021年5月14日 |
1.1.2 | 2021年3月29日 |
在游戏开发类别中排名第840
每月下载量约97次
175KB
完整的ECS (实体-组件-系统) 库。
由两个较小的库组成
- world_dispatcher: ECS的
System
部分。 - entity_component: ECS的
Entity-Component
部分。
阅读文档。
你为什么想使用这个ECS库?
- 兼容所有平台,包括WASM!
- 在所有操作中都非常快,而不仅仅是迭代。
- 依赖最少。
- 代码尺寸小。
- 稳定、测试、基准测试,100%完成。
- 能够处理系统错误而不会崩溃。
- 可以将函数和闭包都转换为系统!
- 安全:总共只有3个
unsafe
。 (与主流ECS库中的数百个相比!)
用法
将以下内容添加到你的Cargo.toml文件中
planck_ecs = "*"
这样使用它
use planck_ecs::*;
fn main() {
#[derive(Default)]
pub struct A;
let mut world = World::default();
let sys = (|comps: &mut Components<A>, entities: &mut Entities| {
let entity = entities.create();
comps.insert(entity, A);
Ok(())
}).system();
let mut dispatch = DispatcherBuilder::new().add_system(sys).build(&mut world);
dispatch.run_seq(&world).unwrap();
dispatch.run_seq(&world).unwrap();
dispatch.run_seq(&world).unwrap();
assert!(world.get::<Components<A>>().is_ok());
}
更多示例,请参阅以下两个存储库的示例文件夹和文档
- world_dispatcher: 系统和调度器的信息。
- entity_component: 实体、组件和连接的信息。
维护者信息
- 维护者:Jojolepro
- 联系方式:jojolepro [at] jojolepro [dot] com
- 网站:jojolepro.com
- Patreon:patreon
依赖
~0.6–1.4MB
~24K SLoC